Copyright © 2010 - 2010 Jun Zhao.
This work is licensed under a Creative Commons License. This copyright applies to the Open Provenance Model Vocabulary and accompanying documentation.
Regarding underlying technology, the Open Provenance Model Vocabulary relies heavily on W3C's RDF technology, an open Web standard that can be freely used by anyone.
This visual layout and structure of the specification was adapted from the SIOC Core Ontology Specification edited by Uldis Bojars and John G. Breslin and the Provenance Vocabulary Core Ontology Specification edited by Olaf Hartig and Jun Zhao.
OPMV, the Open Provenance Model Vocabulary, provides terms to enable practitioners of data publishing to publish their data responsibly. The Open Provenance Model Vocabulary is based on the community provenance data model, the Open Provenance Model (OPM) [Moreau09]. Although at this development stage OPMV does not aims to be an exact implementation of OPM, this is one ultimate goal of the project. Our goal is that the OPMV will be used together with other provenance-related RDF/OWL vocabularies/ontologies (such as Dublin Core, FOAF, Changeset Vocabulary, and the Provenance Vocabulary). As being grounded on OPM, the OPMV aims to assist the interoperability between provenance information on the Semantic Web. In this release the OPMV Core only includes the three core concepts and five core properties defined by OPM, and it has yet implemented every structure specified in OPM. Also the OPMV Core introduces some terms and properties that are not specified in OPM, which could be mapped to OPM, similar to how DC terms being mapped to OPM [Miles09]. A complete mapping of OPMV as an OPM profile is our future work in the next release. This documents specifies the classes and properties introduced by OPMV core ontology.
NOTE: This section describes the status of this document at the time of its publication. Other documents may supersede this document.
This specification is an evolving document. This document may be updated or added to based on implementation experience, but no commitment is made by the authors regarding future updates. This document is generated by combining a machine-readable Open Provenance Model Vocabulary Namespace expressed in RDF/XML with a specification template and a set of per-term documents.
The Open Provenance Model Vocabulary is defined as an OWL-DL ontology and it is partitioned into a core ontology and supplementary modules. This follows similar patterns applied to the SIOC ontology, in order to avoid making the core ontology too complex. The modules aim to provide less frequently used terms and a broad range of specializations of the core terms. In this release of opmv we yet provide any supplementary modules. This is work of future releases.
OPMV is closed based on the OPM model, which is a provenance data model driven by a community effort for facilitating interoperability between provenance systems [Moreau09]. An existing OWL serialization for OPM is available at [opm-owl]. However, a list of known issues have been identified [Tennison10]. The Open Provenance Model Vocabulary (OPMV) aims to provide a new serialization of OPM and to support as many features of OPM as possible. We try to take advantage of Semantic Web technologies during the implementation of OPM specification. Detailed information about using the Open Provenance Model Vocabulary and many examples can be found in [Zhao10].
The related Provenance Vocabulary provides specific terms to describe Web data provenance. OPMV aims to provide terms and modules to support provenance descriptions for datasets beyond those in the Web of Data. OPMV can be used together with the Provenance Vocabulary. For the moment, we would recommend users to use the Provenance Vocabulary for describing provenance of the Web of Data.
The XML Namespace URIs that must be used by implementations of this specification are:
An alphabetical index of terms from the Open Provenance Model Vocabulary Core, by class and by property, are given below. All the terms are hyperlinked to their detailed description for quick reference.
Classes: | Agent | Artifact | Process |
Properties: | used | wasControlledBy | wasDerivedFrom | wasEncodedBy | wasEndedAt | wasGeneratedAt | wasGeneratedBy | wasOperatedBy | wasPerformedAt | wasPerformedBy | wasStartedAt | wasTriggeredBy |
The Core OPMV definitions presented here are written using a computer language (RDF/OWL) that makes it easy for software to process some basic facts about the terms in the Core Open Provenance Model Vocabulary, and consequently about the things described using OPMV.
The Core Open Provenance Model Vocabulary is identified by the namespace URI "http://purl.org/net/opmv/ns#".
Revisions and extensions of opmv are conducted through edits to the namespace document, which by convention is published on the Web at the namespace URI.
The properties and types defined here provide some basic concepts for describing provenance information. Other vocabularies (e.g. the Dublin Core metadata terms, FOAF, the Provenance Vocabulary, etc.) can also be mixed in with OPMV terms, as can local extensions. OPMV is designed to be extended, and some supplementary modules have been added (below).
The Common Module is the primary specialization module of OPMV. It aims to provide terms that are commonly used but not defined in the Open Provenance Model specification. This module is defined under the namespace of http://purl.org/net/opmv/types/common# and created by Jeni Tennison.
A guide on this module is available at http://code.google.com/p/opmv/wiki/GuideOfCommonModule and the schema is available at its namespace http://purl.org/net/opmv/types/common#.
Agent is a contextual entity acting as a catalyst of a process, enabling, facilitating, controlling, or affecting its execution.
identifier: | http://purl.org/net/opmv/ns#Agent |
---|---|
equivalent to: | foaf:Agent |
disjoint with: | opmv:Artifact opmv:Process |
in range of: | opmv:wasControlledBy opmv:wasPerformedBy |
Artifact is a general concept that represents immutable piece of state, which may have a physical embodiment in a physical object, or a digital representation in a computer system.
identifier: | http://purl.org/net/opmv/ns#Artifact |
---|---|
disjoint with: | opmv:Agent opmv:Process |
in domain of: | opmv:wasDerivedFrom opmv:wasEncodeBy opmv:wasGeneratedBy |
in range of: | opmv:wasDerivedFrom opmv:wasEncodeBy opmv:used |
Process refers to an action or series of actions performed on or caused by artifacts, and resulting in new artifacts.
identifier: | http://purl.org/net/opmv/ns#Process |
---|---|
disjoint with: | opmv:Artifact opmv:Agent |
in domain of: | opmv:wasControlledBy opmv:wasPerformedBy opmv:wasTriggeredBy opmv:used |
in range of: | opmv:wasGeneratedBy opmv:wasTriggeredBy |
used is an abstract property to express that an artifact was used by a process.
Identifier: | http://purl.org/net/opmv/ns#used |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process |
Range: | opmv:Artifact |
wasControlledBy is an abstract property to express that a process was controlled an agent.
Identifier: | http://purl.org/net/opmv/ns#wasControlledBy |
---|---|
OWL Type: | ObjectProperty |
Super-property of: | opmv:wasPerformedBy |
Domain: | opmv:Process |
Range: | opmv:Agent |
wasDerivedFrom is an abstract property to express that an artifact was derived from another artifact.
Identifier: | http://purl.org/net/opmv/ns#wasDerivedFrom |
---|---|
OWL Type: | ObjectProperty |
Super-property of: | opmv:wasEncodedBy |
Domain: | opmv:Artifact |
Range: | opmv:Artifact |
wasGeneratedAt is an abstract property to express that an artifact was generated at a given time instant.
Identifier: | http://purl.org/net/opmv/ns#wasGeneratedAt |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Artifact |
Range: | time:Instant |
wasGeneratedBy is an abstract property to express that an artifact was generated by a process.
Identifier: | http://purl.org/net/opmv/ns#wasGeneratedBy |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Artifact |
Range: | opmv:Process |
wasOperatedBy is an abstract property to express that an agent was operated by another agent in the process that leads to the production of an artifact.
Identifier: | http://purl.org/net/opmv/ns#wasOperatedBy |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Agent |
Range: | opmv:Agent |
wasTriggeredBy is an abstract property to express that a process was triggered by another process.
Identifier: | http://purl.org/net/opmv/ns#wasTriggeredBy |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process |
Range: | opmv:Process |
wasPerformedAt is an object property to express that a process was performed at a given time instant or during a given time interval.
Identifier: | http://purl.org/net/opmv/ns#wasPerformedAt |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process |
Range: | time:TemporalEntity |
wasStartedAt is an object property to express that a process was started at a given time instant.
Identifier: | http://purl.org/net/opmv/ns#wasStartedAt |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process |
Range: | time:Instant |
wasEndedAt is an object property to express that a process was ended at a given time instant.
Identifier: | http://purl.org/net/opmv/ns#wasEndedAt |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process |
Range: | time:Instant |
wasPerformedBy is an object property to express that a process was performed by another process. It is a sub-property of wasControlledBy.
Identifier: | http://purl.org/net/opmv/ns#wasPerformedBy |
---|---|
OWL Type: | ObjectProperty |
Sub-property of: | opmv:wasControlledBy |
Domain: | opmv:Process |
Range: | opmv:Agent |
wasEncodedBy is an object property to express that an artifact is encoded by another artifact. It is useful to express the relationship between the data and the file encoding the data.
Identifier: | http://purl.org/net/opmv/ns#wasEncodedBy |
---|---|
OWL Type: | ObjectProperty |
Sub-property of: | opmv:wasDerivedFrom |
Domain: | opmv:Artifact |
Range: | opmv:Artifact |
We would like to acknowledge the contributions of Jeni Tennison, Luc Moreau, Olaf Hartig, Stuart Williams, and John Sheridan towards this specification.