"Import W3C PROV documents into Neo4j using py2neo\'s OGM."
Project description
Welcome to prov2neo
! 👋
prov2neo
is a Python library and command line tool that imports W3C PROV documents into Neo4j.
prov2neo
enables faster imports than comparable libs such asprov-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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c1f2c5801cd5c45091a85252c8d7beddd1b230466b43416880035dda3efb967 |
|
MD5 | 79c3e29f65f37c867873abf63b467628 |
|
BLAKE2b-256 | 1527cd1098eaa7992b4f82986077ee357c5837a7a99c26cb2579bff02e6a6d39 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f78da83f15eaaee8326d513d99da43f1dee091b1051908197b19d0fa9aeec2 |
|
MD5 | d64ca31e9760ddc5cb4930d8e4f1b90c |
|
BLAKE2b-256 | e93e949a3fef00abbbe869a17102ef1b66741f5fa5564c71ea6d19943ba761fc |