Warning:
This wiki has been archived and is now read-only.
PROV OWL ontology components
- http://dvcs.w3.org/hg/prov/file/tip/ontology/components
- PROV OWL ontology components
- PROV OWL ontology component examples (artificial)
Author: Tim Lebo
This page provides an overview of the ontology components available in the mercurial repository at:
http://dvcs.w3.org/hg/prov/file/tip/ontology/components
For realistic examples, see PROV OWL ontology component examples.
For artificial examples, see Artificial PROV OWL ontology component examples.
Contents
Introduction
This directory contains small sets of OWL axioms, i.e. "components", that can contribute to the authoritative OWL encoding of PROV. These components, if they do not make it into the authoritative encoding, can also be used to create variant and extension OWL encodings of PROV to suit different users needs.
Note that the presence of an axiom as a component does not imply that it is a part of the authoritative OWL encoding of PROV. As the authoritative encoding is developed, it may include or omit any of these proposed components. This collection of components exists to provide concrete encodings of proposals while the authoritative OWL encoding is developed.
Thus, these components will likely be a SUPERSET of the authoritative OWL encoding, and may even be logically inconsistent if all are incorporated into a single OWL ontology.
Directory Organization
Class components
The following files describe classes that can become part of the PROV ontology [1]:
- ontology/components/Account.ttl describes the owl:Class prov:Account (examples at components/Account/)
- ontology/components/Agent.ttl describes the owl:Class prov:Agent (examples at components/Agent/)
- ontology/components/Annotation.ttl describes the owl:Class prov:Annotation (examples at components/Annotation/)
- ontology/components/AssertionProcessExecution.ttl describes the owl:Class prov:AssertionProcessExecution (examples at components/AssertionProcessExecution/)
- ontology/components/Control.ttl describes the owl:Class prov:Control (examples at components/Control/)
- ontology/components/Controller.ttl describes the owl:Class prov:Controller (examples at components/Controller/)
- ontology/components/Entity.ttl describes the owl:Class prov:Entity (examples at components/Entity/)
- ontology/components/EntityInRole.ttl describes the owl:Class prov:EntityInRole (examples at components/EntityInRole/)
- ontology/components/Generation.ttl describes the owl:Class prov:Generation (examples at components/Generation/)
- ontology/components/NamedGraph.ttl describes the owl:Class prov:NamedGraph (examples at components/NamedGraph/)
- ontology/components/Participation.ttl describes the owl:Class prov:Participation (examples at components/Participation/)
- ontology/components/ProcessExecution.ttl describes the owl:Class prov:ProcessExecution (examples at components/ProcessExecution/)
- ontology/components/ProvenanceContainer.ttl describes the owl:Class prov:ProvenanceContainer (examples at components/ProvenanceContainer/)
- ontology/components/QualifiedInvolvement.ttl describes the owl:Class prov:QualifiedInvolvement (examples at components/QualifiedInvolvement/)
- ontology/components/Time.ttl describes the owl:Class prov:Time (examples at components/Time/)
- ontology/components/Usage.ttl describes the owl:Class prov:Usage (examples at components/Usage/)
(last updated 2011-11-08 tlebo)
Property components
The following files describe properties that can become part of the PROV ontology [2]:
- components/assumedBy.ttl describes the property prov:assumedBy (examples at assumedBy/)
- components/characterized.ttl describes the property prov:characterized (examples at characterized/)
- components/dependedOn.ttl describes the property prov:dependedOn (examples at dependedOn/)
- components/eventuallyUsed.ttl describes the property prov:eventuallyUsed (examples at eventuallyUsed/)
- components/generated.ttl describes the property prov:generated (examples at generated/)
- components/hadLocation.ttl describes the property prov:hadLocation (examples at hadLocation/)
- components/hadOriginalSource.ttl describes the property prov:hadOriginalSource (examples at hadOriginalSource/)
- components/hadParticipant.ttl describes the property prov:hadParticipant (examples at hadParticipant/)
- components/hasAnnotation.ttl describes the property prov:hasAnnotation (examples at hasAnnotation/)
- components/hasLocation.ttl describes the property prov:hasLocation (examples at hasLocation/)
- components/identifier.ttl describes the property prov:identifier (examples at identifier/)
- components/inDataset.ttl describes the property prov:inDataset (examples at inDataset/)
- components/involved.ttl describes the property prov:involved (examples at involved/)
- components/lastModified.ttl describes the property prov:lastModified (examples at lastModified/)
- components/role.ttl describes the property prov:role (examples at role/)
- components/used.ttl describes the property prov:used (examples at used/)
- components/wasAttributedTo.ttl describes the property prov:wasAttributedTo (examples at wasAttributedTo/)
- components/wasComplementOf.ttl describes the property prov:wasComplementOf (examples at wasComplementOf/)
- components/wasControlledBy.ttl describes the property prov:wasControlledBy (examples at wasControlledBy/)
- components/wasDerivedFrom.ttl describes the property prov:wasDerivedFrom (examples at wasDerivedFrom/)
- components/wasEventuallyDerivedFrom.ttl describes the property prov:wasEventuallyDerivedFrom (examples at wasEventuallyDerivedFrom/)
- components/wasEventuallyGeneratedBy.ttl describes the property prov:wasEventuallyGeneratedBy (examples at wasEventuallyGeneratedBy/)
- components/wasGeneratedBy.ttl describes the property prov:wasGeneratedBy (examples at wasGeneratedBy/)
- components/wasInformedBy.ttl describes the property prov:wasInformedBy (examples at wasInformedBy/)
- components/wasQuoteOf.ttl describes the property prov:wasQuoteOf (examples at wasQuoteOf/)
- components/wasRevisionOf.ttl describes the property prov:wasRevisionOf (examples at wasRevisionOf/)
- components/wasScheduledAfter.ttl describes the property prov:wasScheduledAfter (examples at wasScheduledAfter/)
- components/wasSummaryOf.ttl describes the property prov:wasSummaryOf (examples at wasSummaryOf/)
- components/wasTriggeredBy.ttl describes the property prov:wasTriggeredBy (examples at wasTriggeredBy/)
(last updated 2011-11-08 tlebo)
Example instance data
Directories (e.g. components/assumedBy/) for each component (e.g. components/assumedBy.ttl) contain small examples that exercise some or all of the axioms in the component. For consistency, the names of the examples directories correspond with the name of the component file. For example, the assumedBy component provides the following two examples in the assumedBy/ directory:
For an overview of the examples independent of their component, see PROV OWL ontology component examples.
Unit tests
Directories (e.g. components/wasControlledBy/example-1/) for each component example (e.g. components/wasControlledBy/example-1.ttl) contain SPARQL queries (e.g. components/wasControlledBy/example-1/test-1.rq) that can be used to unit test the corresponding example. If OWL reasoning is required to test the instance data, a corresponding OWL file (e.g. components/wasControlledBy/example-1/test-1.owl
) will accompany the SPARQL unit test. These OWL files should use only owl:imports
to specify components or component aggregations -- they should not include the axioms directly.
Note, testing is not implemented yet.
Component Aggregations
The directory component-aggregations contains files that aggregate different components using the owl:imports
mechanism. The owl:imports
can be implemented to produce an aggregation (technically, and RDF union) of the components it specifies.
For example, component-aggregations/prov-variant-1.ttl aggregates components associated to two classes and a property:
@prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix prov: <http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl#> . <> a owl:Ontology; owl:imports <../components/Account.ttl>; owl:imports <../components/EntityInRole.ttl>; owl:imports <../components/assumedBy.ttl>; .
Performing the owl:imports
produces the OWL file at component-aggregations/prov-variant-1.owl, which has derivation provenance described using PROV OWL at component-aggregations/prov-variant-1.owl.prov.ttl.
The aggregation (e.g. component-aggregations/prov-variant-1.owl) can then be viewed in any OWL ontology browser such as Manchester's.
How to aggregate a component aggregation list
After checking out the Mercurial repository, run:
cd /Users/tlebo/Desktop/prov-wg/hg/prov/ontology/component-aggregations ./aggregate.sh prov.ttl prov.ttl --=(closure)=--> prov.owl += http://dvcs.w3.org/hg/prov/raw-file/ff40085a2c94/ontology/ProvenanceOntology.owl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/involved.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/used.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/hadParticipant.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/wasControlledBy.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/generated.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/wasGeneratedBy.ttl += http://dvcs.w3.org/hg/prov/raw-file/63887c796f43/ontology/components/QualifiedInvolvement.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/Usage.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/Participation.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/Control.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/Generation.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/role.ttl += http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/components/wasDerivedFrom.ttl ==-> prov.owl <pre>References
- PROV OWL encoding
- http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl - the authoritative OWL encoding.
- http://www.w3.org/2005/Incubator/ssn/ssnx/ssn uses a module based presentation of their ontology.