Skip to main content

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

Project description

Welcome to prov2neo! 👋

License: MIT Badge: Made with Python Badge: PyPi Version Badge: PyPi Downloads Monthly Twitter: DLR Software Badge: Open in VSCode Badge: DOI Badge: W3C PROV Badge: Citation File Format Inside

prov2neo is a Python library and command line tool that imports W3C PROV documents into Neo4j.

prov2neo enables faster imports than comparable libs such as prov-db-connector with the limitation of being specialized for neo4j.

🏗️ Installation

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

python setup.py install --user

Or install the latest release from PyPi:

pip install prov2neo

🚀 Usage

prov2neo can be used as a command line script or 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

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

✨ Citable Software

This project contains a CITATION.cff file!

CITATION.cff files are plain text files with human- and machine-readable citation information for software (and datasets).
GitHub will link the correct citation automatically.
To find out more about GitHubs support for CITATION.cff files visit here

📝 License

Copyright © 2020-2022 German Aerospace Center (DLR) and individual contributors.
This project is MIT licensed.

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.2.2.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

prov2neo-1.2.2-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file prov2neo-1.2.2.tar.gz.

File metadata

  • Download URL: prov2neo-1.2.2.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for prov2neo-1.2.2.tar.gz
Algorithm Hash digest
SHA256 1c1f2c5801cd5c45091a85252c8d7beddd1b230466b43416880035dda3efb967
MD5 79c3e29f65f37c867873abf63b467628
BLAKE2b-256 1527cd1098eaa7992b4f82986077ee357c5837a7a99c26cb2579bff02e6a6d39

See more details on using hashes here.

File details

Details for the file prov2neo-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: prov2neo-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for prov2neo-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 56f78da83f15eaaee8326d513d99da43f1dee091b1051908197b19d0fa9aeec2
MD5 d64ca31e9760ddc5cb4930d8e4f1b90c
BLAKE2b-256 e93e949a3fef00abbbe869a17102ef1b66741f5fa5564c71ea6d19943ba761fc

See more details on using hashes here.

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