-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for semantic annotations in the captured provenance using ontologies #26
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…rs and returns. Implemented unit tests.
Implemented unit tests.
…pplications). OntologyInformation interface class made private. Updated and completed unit tests.
# Conflicts: # alpaca/decorator.py # alpaca/serialization/prov.py
…on returns that are containers and are captured with the container_output option in Provenance
… to the function with an ontology (regular inputs and container inputs)
Unit tests and recursive code refactored.
# Conflicts: # alpaca/data_information.py # alpaca/serialization/prov.py
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the functionality to extend the captured provenance with semantic information defined in one or more ontologies.
For example, function executions are represented by the
FunctionExecution
class in the Alpaca ontology. However, the concept that represents the process implemented by the function could be defined in a domain-specific ontology, and this class could be added as an additionalrdf:type
triple to theFunctionExecution
individual, thereby embedding semantic information.The ontology annotations are defined through a dictionary that is added as a special attribute to Python objects (
__ontology__
). Two types of Python objects are supported: functions and data objects (i.e., objects instantiated from a Python class). Alpaca will detect the presence of the ontology annotations and use them appropriately when creating the serialized RDF graph.The ontology annotations can describe the function or data object as well as extended information associated to them:
The references to ontology classes/individuals must be URIs. CURIEs (i.e., abbreviated URIs that use a prefix) are allowed by defining namespaces.
More details are on the documentation page.