Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: HPCI-Lab
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 1.32 MB
Statistics
- Stars: 3
- Watchers: 3
- Forks: 4
- Open Issues: 0
- Releases: 7
Metadata Files
README.md
Provenance as a Service
yProv is a provenance service aimed at addressing multi-level provenance as well as reproducibility challenges in climate analytics experiments. It allows scientists to manage provenance information compliant with the W3C PROV standard in a more structured way and navigate and explore the provenance space across multiple dimensions, thus enabling the possibility to get coarse- or fine-grained information according to the level of interest.
yProv is a joint project between University of Trento and CMCC.
The deployment consists of two Docker containers: - yProv Web Service front-end - Neo4J graph database engine back-end
Preliminary setup
- Create a named volume to make Neo4j data persistent
docker volume create neo4j_data - Create a named volume to export logs to the host machine
docker volume create neo4j_logs - Create a named volume to make yProv configuration and data persistent to the host machine
docker volume create yprov_dataCreate a Docker network to enable communication between the two Docker containers - Create a Docker network
docker network create yprov_net
Deployment from DockerHub
- Run the Neo4j container
docker run \ --name db \ --network=yprov_net \ -p 7474:7474 -p 7687:7687 \ -d \ -v neo4j_data:/data \ -v neo4j_logs:/logs \ -v $HOME/neo4j/import:/var/lib/neo4j/import \ -v $HOME/neo4j/plugins:/plugins \ --env NEO4J_AUTH=neo4j/password \ --env NEO4J_ACCEPT_LICENSE_AGREEMENT=eval \ -e NEO4J_apoc_export_file_enabled=true \ -e NEO4J_apoc_import_file_enabled=true \ -e NEO4J_apoc_import_file_use__neo4j__config=true \ -e NEO4J_PLUGINS=\[\"apoc\"\] \ neo4j:enterprise - Run the yProv container
docker run \ --restart on-failure \ --name web \ --network=yprov_net \ -p 3000:3000 \ -d \ -v yprov_data:/app/conf \ --env USER=neo4j \ --env PASSWORD=password \ hpci/yprov:latest
Deployment from sources
You can also build the yProv image by your own (using the available Dockerfile) and start the two containers.
- Build the yProv image
docker build . -t yprov_web - Run the bash script to start the two containers
./deploy_service.sh
yProv CLI
yProv includes a Command Line Interface to interact with the service in a more convenient way.
Please refer to this documentation to install the CLI.
Get started
You can find some ready-to-use examples to get started with yProv under the examples folder.
Advanced options
Load Neo4j plugins
Method 1: NEO4J_PLUGINS utility
You can configure the Neo4j deployment to automatically download and install plugins. The NEO4J_PLUGINS environment variable can be used to specify the plugins to install.
Example: Install the APOC Core plugin (apoc) and the Graph Data Science plugin (graph-data-science)
You can use the Docker argument
--env NEO4J_PLUGINS='["apoc", "graph-data-science"]'
Method 2: Installing plugins
To install plugins, including user-defined procedures, mount the folder or volume containing the plugin JARs to /plugins, for example:
docker run \
...
-v $HOME/neo4j/plugins:/plugins \
neo4j:enterprise
Neo4j automatically loads any plugins found in the /plugins folder on startup.
Change secret key
A secret key is used to encode & decode the JSON Web Token for user authentication. The default secret key can be overridden by setting the SECRET_KEY environment variable:
docker run \
--name web \
--network=yprov_net \
-p 3000:3000 \
-d \
-v yprov_data:/app/conf \
--env USER=neo4j \
--env PASSWORD=password \
--env SECRET_KEY=my_secret_key \
hpci/yprov:latest
Owner
- Name: HPCI-Lab
- Login: HPCI-Lab
- Kind: organization
- Repositories: 1
- Profile: https://github.com/HPCI-Lab
Citation (CITATION.cff)
cff-version: 1.2.0
message: 'If you use yProv, please cite it as below'
title: yProv
type: software
authors:
- family-names: Fiore
given-names: Sandro
email: sandro.fiore@unitn.it
affiliation: University of Trento
- family-names: Antonio
given-names: Fabrizio
email: fabrizio.antonio@cmcc.it
affiliation: CMCC
date-released: 2025-01-14
repository-code: 'https://github.com/HPCI-Lab/yProv'
license: MIT
version: 1.1
keywords:
- provenance
- W3C Provenance
- multi-level provenance
- yProv
abstract: >-
yProv is a provenance service aimed at addressing multi-level provenance as well as reproducibility challenges in climate analytics experiments.
It allows scientists to manage provenance information compliant with the W3C PROV standard in a more structured way and navigate and explore the provenance space
across multiple dimensions, thus enabling the possibility to get coarse- or fine-grained information according to the level requested.
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "Software",
"name": "yProv",
"description": "yProv is a provenance service aimed at addressing multi-level provenance as well as reproducibility challenges in climate analytics experiments. It allows scientists to manage provenance information compliant with the W3C PROV standard in a more structured way and navigate and explore the provenance space across multiple dimensions, thus enabling the possibility to get coarse- or fine-grained information according to the level of interest. yProv is a joint project between University of Trento and CMCC.",
"author": [
{
"@type": "Person",
"givenName": "Sandro",
"familyName": "Fiore",
"email": "sandro.fiore@unitn.it",
"affiliation": {
"@type": "Organization",
"name": "University of Trento"
}
},
{
"@type": "Person",
"givenName": "Fabrizio",
"familyName": "Antonio",
"email": "fabrizio.antonio@cmcc.it",
"affiliation": {
"@type": "Organization",
"name": "CMCC"
}
}
],
"datePublished": "2025-01-14",
"license": "MIT",
"version": "1.1.0",
"codeRepository": "https://github.com/HPCI-Lab/yProv",
"keywords": [
"provenance",
"W3C Provenance",
"multi-level provenance",
"yProv"
],
"programmingLanguage": "Python"
}
GitHub Events
Total
- Release event: 1
- Delete event: 11
- Member event: 2
- Push event: 42
- Pull request event: 4
- Fork event: 3
- Create event: 14
Last Year
- Release event: 1
- Delete event: 11
- Member event: 2
- Push event: 42
- Pull request event: 4
- Fork event: 3
- Create event: 14
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 10 minutes
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 10 minutes
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- Yousaf95 (1)
- jclock98 (1)
- anfab (1)