{ "info": { "author": "Roboy", "author_email": "team@roboy.org", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Roboy ScientIO\n\n## About\n\nRoboy ScientIO (from Lat. scientia - knowledge and Input/Output) - a Knowledge Graph Engine to organise and query complex data.\n\n## Dependencies\n\nTo use ScientIO, you will need to have one of it's supported back-ends installed. Currently, the only supported back-end is Neo4j, which may be run in a number of ways\n(if you don't have a remote instance available). We recommend simply running it through docker - like this:\n\n```bash\ndocker run \\\n --publish=7474:7474 --publish=7687:7687 \\\n --volume=$HOME/neo4j/data:/data \\\n --volume=$HOME/neo4j/logs:/logs \\\n neo4j:3.0\n```\n\n## Installation\n\n### Via PIP\n\nThe easiest way to install ScientIO is through pip:\n\n``\npip install scientio\n``\n\n### For developers\n\nFirst, install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\nThen, you may open the repository in any IDE, and mark the\n`src` folder as a sources root.\n\n## Basic ScientIO use-cases\n\n### Supplying an ontology description\n\nThe ontology description is a collection of named entity types, where each type may declare a specific set of properties and relationships like this:\n\n```yaml\n# my_ontology.yml\n\n!OType\nentity: Alien # The name of the ontology type\n---\n!OType\nentity: Vulcan # Declare a more specific Alien type\nmeta: [Alien]\nproperties: # Allowed properties for every Vulcan\n - name\n - homeworld\n - ear_pointiness\n---\n!OType\nentity: Human # Declare a more specific Alien type\nmeta: [Alien]\nproperties: # Allowed properties for every Human\n - name\n - homeworld\nrelationships: [captain_of] # Allowed relationships for every Human\n```\n\n### Creating some nodes\n\n```python\nfrom scientio.ontology.ontology import Ontology\nfrom scientio.session import Session\nfrom scientio.ontology.node import Node\n\n# Load the ontology from a yaml file\nonto = Ontology(path_to_yaml=\"my_ontology.yml\")\n\n# Create a session (with default Neo4j backend)\nsess = Session(\n ontology=onto,\n neo4j_address=\"bolt://localhost:7687\",\n neo4j_username=\"neo4j\",\n neo4j_password=\"test\")\n\n# Get human/vulcan types from ontology\nhuman_type = onto.get_type(\"Human\")\nvulcan_type = onto.get_type(\"Vulcan\")\n\n# Create a transient human named \"Kirk\"\nkirk = Node(metatype=human_type)\nkirk.set_name(\"Kirk\")\n\n# Create a transient vulcan named \"Spock\"\nspock = Node(metatype=vulcan_type)\nspock.set_name(\"Spock\")\n\n# Persist kirk and spock\nsess.create(kirk)\nsess.create(spock)\n```\n\n### Add a relationship between your nodes\n\n```python\nfrom scientio.ontology.ontology import Ontology\nfrom scientio.session import Session\nfrom scientio.ontology.node import Node\n\n# Load the ontology from a yaml file\nonto = Ontology(path_to_yaml=\"my_ontology.yml\")\n\n# Create a session (with default Neo4j backend)\nsess = Session(\n ontology=onto,\n neo4j_address=\"bolt://localhost:7687\",\n neo4j_username=\"neo4j\",\n neo4j_password=\"test\")\n\n# Get human/vulcan types from ontology\nhuman_type = onto.get_type(\"Human\")\nvulcan_type = onto.get_type(\"Vulcan\")\n\n# Create query templates to get the actual kirk/spock\nkirk = Node(metatype=human_type)\nspock = Node(metatype=vulcan_type)\n\n# Query Kirk and Spock from the database, using\n# the query nodes we created previously. We're just\n# gonna assume that the first human is Kirk, and the first\n# vulcan is Spock.\nkirk = sess.retrieve(request=kirk)[0]\nspock = sess.retrieve(request=spock)[0]\n\n# Add a relationship between Kirk and Spock\nkirk.add_relationships({\"captain_of\": {spock.get_id()}})\n\n# Make sure that the new relationship is persisted\nsess.update(kirk)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/roboy/scientio", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "scientio", "package_url": "https://pypi.org/project/scientio/", "platform": "", "project_url": "https://pypi.org/project/scientio/", "project_urls": { "Homepage": "https://github.com/roboy/scientio" }, "release_url": "https://pypi.org/project/scientio/0.9.0/", "requires_dist": [ "pytz", "neo4j", "pyyaml", "reggol" ], "requires_python": ">=3.7", "summary": "ScientIO is a Knowledge Graph Engine to organise and query complex data.", "version": "0.9.0" }, "last_serial": 5138485, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "161b609755a70fd3e811561cb5605aa4", "sha256": "3957fb2189a65ac5c221a60f99c060a54398447502b40f0c4c255e512d3b959c" }, "downloads": -1, "filename": "scientio-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "161b609755a70fd3e811561cb5605aa4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 12990, "upload_time": "2019-01-05T23:46:37", "url": "https://files.pythonhosted.org/packages/57/6b/e55ce1569ddba3a1246a2f284b0a364369a88f8fab5a384c8c41a2879773/scientio-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8d02be391cd5b7e4f613641a1f55151", "sha256": "bbded3d7e452cc5edeff32c59fa546a9c1546acc177224dcea70791045083397" }, "downloads": -1, "filename": "scientio-0.9.0.tar.gz", "has_sig": false, "md5_digest": "b8d02be391cd5b7e4f613641a1f55151", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11470, "upload_time": "2019-01-05T23:46:47", "url": "https://files.pythonhosted.org/packages/d9/74/5c7fcb62c20ce72f4484843d238d0ffde8552e3e6bb22f19ade3ccab6c33/scientio-0.9.0.tar.gz" } ], "0.9.1rc0": [ { "comment_text": "", "digests": { "md5": "18b9f4ff92eb34657148318683720660", "sha256": "4d8074cc2f8aefe8f466d8d82e1589eda755462ac6577b79ac557749710e01f4" }, "downloads": -1, "filename": "scientio-0.9.1rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "18b9f4ff92eb34657148318683720660", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15203, "upload_time": "2019-01-24T18:11:38", "url": "https://files.pythonhosted.org/packages/71/cc/b5907fe03a311459600f6785fca4c2fa2c5bb3651e51cf7eb9c90471f337/scientio-0.9.1rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf52a7294479f9450ba0a23b0100e2be", "sha256": "4c0dff040f3587ed1d3efd07da048876937a3f85b95a851e9d9b167589607789" }, "downloads": -1, "filename": "scientio-0.9.1rc0.tar.gz", "has_sig": false, "md5_digest": "bf52a7294479f9450ba0a23b0100e2be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11544, "upload_time": "2019-01-24T18:11:40", "url": "https://files.pythonhosted.org/packages/91/ea/0b370ee471f1a4a6440e97dffc07da82553ee5e90018bb23e9e30c738a1a/scientio-0.9.1rc0.tar.gz" } ], "0.9.1rc1": [ { "comment_text": "", "digests": { "md5": "f90ce9f2bdfa42d0937eefd3a0501e53", "sha256": "57e59d6a4dabf141871b0d132dc320959ff117b106534fcd7a94b2be8f3b2047" }, "downloads": -1, "filename": "scientio-0.9.1rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "f90ce9f2bdfa42d0937eefd3a0501e53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13020, "upload_time": "2019-04-13T15:47:41", "url": "https://files.pythonhosted.org/packages/d3/9a/3be6106c3444be516ee8550d5f7304aa6fd9e194b3bdb6911c32e5c460e2/scientio-0.9.1rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e336784564dcc9248a395a1513d72f9d", "sha256": "c4066cf844d73cb15e0c4f09e24ada5fd3383a1794ce3884227387dc26ca5661" }, "downloads": -1, "filename": "scientio-0.9.1rc1.tar.gz", "has_sig": false, "md5_digest": "e336784564dcc9248a395a1513d72f9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11501, "upload_time": "2019-04-13T15:47:43", "url": "https://files.pythonhosted.org/packages/0f/d3/cb6d8cb141f40a18730e3c2d0d4cf87a04f100115bd84dad05e3cd700472/scientio-0.9.1rc1.tar.gz" } ], "0.9.1rc2": [ { "comment_text": "", "digests": { "md5": "f519e86a9ac639cd7f0c04d3644c1667", "sha256": "7d6ba4afe47092c1e9cf7789ce5c4955ba6e860857e465ca393868e6b9bbaac3" }, "downloads": -1, "filename": "scientio-0.9.1rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "f519e86a9ac639cd7f0c04d3644c1667", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13061, "upload_time": "2019-04-13T16:05:19", "url": "https://files.pythonhosted.org/packages/fc/78/dc7c15a659e4569b87556ce3ccd3f1ad37aaa947b9429c66ed098604d1e3/scientio-0.9.1rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff472ca27ab7a4c178daf8e3a8da08c4", "sha256": "927cacd045e3b6b826391afd46bdbc2b9f2242b139dfc59a9588db5d56198498" }, "downloads": -1, "filename": "scientio-0.9.1rc2.tar.gz", "has_sig": false, "md5_digest": "ff472ca27ab7a4c178daf8e3a8da08c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11529, "upload_time": "2019-04-13T16:05:20", "url": "https://files.pythonhosted.org/packages/bd/f0/fd7965c45b207242eb6bed2fb20196174af5b834583fb505c46e86de75ca/scientio-0.9.1rc2.tar.gz" } ], "0.9rc0": [ { "comment_text": "", "digests": { "md5": "afb09469e86b7079f8f8620a85c4c2ef", "sha256": "c056fdaf1bee34d2d42cc789a7cc17f4b68715b21ff4677112177b11c08fc148" }, "downloads": -1, "filename": "scientio-0.9rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "afb09469e86b7079f8f8620a85c4c2ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11447, "upload_time": "2018-12-10T22:19:37", "url": "https://files.pythonhosted.org/packages/b5/72/61696192f423d233410cf43c774d2335e357ee25d5a7efc146004d48f656/scientio-0.9rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed86089e3a7423aad6ae4be9b207b666", "sha256": "1c99fea0afc138192d739fd3cea4ba7bce97ea97efd9805d38d791fd0c266dc2" }, "downloads": -1, "filename": "scientio-0.9rc0.tar.gz", "has_sig": false, "md5_digest": "ed86089e3a7423aad6ae4be9b207b666", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 10508, "upload_time": "2018-12-10T22:19:39", "url": "https://files.pythonhosted.org/packages/45/bd/67c0d055106d474446191adfd316f96a4fad9b4ad79e3b39ef08ccef9439/scientio-0.9rc0.tar.gz" } ], "0.9rc2": [ { "comment_text": "", "digests": { "md5": "5841cbbcc3adf1f5185afe739a22e9dc", "sha256": "7747dbbbd655d5a1a5207a113e1e749b2c31fa86ee975fe2de7a0165f6c8a25a" }, "downloads": -1, "filename": "scientio-0.9rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "5841cbbcc3adf1f5185afe739a22e9dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11462, "upload_time": "2018-12-10T22:24:26", "url": "https://files.pythonhosted.org/packages/98/83/ddba9a651c2d5aabc7faa7f889419c8db961e7acb5859c65d0b1ac288e03/scientio-0.9rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78d0acb21a8836d49dd10c52ec88310b", "sha256": "3ee0d62fe74a75604c1044bad0d8401d854bdb7a970759fb61e18dcf2205ecfd" }, "downloads": -1, "filename": "scientio-0.9rc2.tar.gz", "has_sig": false, "md5_digest": "78d0acb21a8836d49dd10c52ec88310b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 10528, "upload_time": "2018-12-10T22:24:27", "url": "https://files.pythonhosted.org/packages/77/ce/243e5da01154431e8626199d2d2f9fa08f87faa0722dc291933806db6b02/scientio-0.9rc2.tar.gz" } ], "0.9rc3": [ { "comment_text": "", "digests": { "md5": "fc0e358dbc74baf03ba79b3ee8ad80fe", "sha256": "19b6c16891bc2025900e9c1ebf35ad56be8dafbc88f7dbf30f1efe7819e7a85b" }, "downloads": -1, "filename": "scientio-0.9rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "fc0e358dbc74baf03ba79b3ee8ad80fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 13001, "upload_time": "2019-01-05T23:14:06", "url": "https://files.pythonhosted.org/packages/67/56/f30e6f89cf7f7d4202910ef1e5b9321d35c669291726b4a7b5fd566623cb/scientio-0.9rc3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c62363b035c622af8d7374278cf644", "sha256": "92301beddd14ea37750417ef093e9b7ff3761e78033ec11a47aabc1b03151eb7" }, "downloads": -1, "filename": "scientio-0.9rc3.tar.gz", "has_sig": false, "md5_digest": "90c62363b035c622af8d7374278cf644", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11514, "upload_time": "2019-01-05T23:14:08", "url": "https://files.pythonhosted.org/packages/1c/12/161c1dc5a9e5492dab773d290746251eac2c692c6e9db8dc8d02b8ecae7d/scientio-0.9rc3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "161b609755a70fd3e811561cb5605aa4", "sha256": "3957fb2189a65ac5c221a60f99c060a54398447502b40f0c4c255e512d3b959c" }, "downloads": -1, "filename": "scientio-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "161b609755a70fd3e811561cb5605aa4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 12990, "upload_time": "2019-01-05T23:46:37", "url": "https://files.pythonhosted.org/packages/57/6b/e55ce1569ddba3a1246a2f284b0a364369a88f8fab5a384c8c41a2879773/scientio-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8d02be391cd5b7e4f613641a1f55151", "sha256": "bbded3d7e452cc5edeff32c59fa546a9c1546acc177224dcea70791045083397" }, "downloads": -1, "filename": "scientio-0.9.0.tar.gz", "has_sig": false, "md5_digest": "b8d02be391cd5b7e4f613641a1f55151", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11470, "upload_time": "2019-01-05T23:46:47", "url": "https://files.pythonhosted.org/packages/d9/74/5c7fcb62c20ce72f4484843d238d0ffde8552e3e6bb22f19ade3ccab6c33/scientio-0.9.0.tar.gz" } ] }