Skip to main content

Import W3C PROV documents into Neo4j using py2neo's OGM.

Project description

prov2neo — Import W3C PROV Documents to Neo4j

License: MIT made-with-python PyPI version fury.io Upload Python Package DOI Open in Visual Studio Code

prov2neo is a Python library for importing W3C PROV documents into Neo4j.
prov2neo enables faster imports than comparable libs such as prov-db-connector.

Installation

Clone the project and use the provided setup.py to install prov2neo locally

python setup.py install --user

Or install releases from PyPI:

pip install prov2neo

Usage

prov2neo can be used both as a command line script and as a Python lib.

As a Command Line Script

usage: prov2neo [-h] [-f {provn,json,rdf,xml}] [-i INPUT [INPUT ...]] [-a ADDRESS]
                [-u USERNAME] [-p PASSWORD] [-n NAME]
                [-s {bolt,bolt+s,bolt+ssc,http,https,http+s,http+ssc}]

Import W3C PROV documents to Neo4j.

optional arguments:
  -h, --help            show this help message and exit
  -f {provn,json,rdf,xml}, --format {provn,json,rdf,xml}
                        input PROV format
  -i INPUT [INPUT ...], --input INPUT [INPUT ...]
                        input files, use '.' for stdin
  -a ADDRESS, --address ADDRESS
                        Neo4j address
  -u USERNAME, --username USERNAME
                        Neo4j username
  -p PASSWORD, --password PASSWORD
                        Neo4j password
  -n NAME, --name NAME  Neo4j target database name
  -s {bolt,bolt+s,bolt+ssc,http,https,http+s,http+ssc}, --scheme {bolt,bolt+s,bolt+ssc,http,https,http+s,http+ssc}
                        connection scheme to use when connecting to Neo4j

As a Python Lib

from prov.model import ProvDocument
from prov2neo.client import Client

# read graph from JSON serialization
graph = ProvDocument.deserialize(source="examples/horsemeat.json", format="json")

# create a prov2neo client
client = Client()
# connect to the neo4j instance
client.connect(
    address="localhost:7687",
    user="jane doe",
    password="**redacted**",
    name="database name",
    scheme="bolt"
)
# import the PROV graph
client.import_graph(graph)

prov2neo supports formats that the prov library provides:

Contributing

Merge and Pull requests are welcome!
For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prov2neo-1.1.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

prov2neo-1.1-py3-none-any.whl (11.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page