200 likes | 339 Views
Open Provenance Model Tutorial Session 7: Open Provenance Model Vocabulary. OPMV. The goal The rationale Overview of the vocabulary Overview of existing type modules Tools and examples Future development. Our Goal.
E N D
Open Provenance Model TutorialSession 7: Open Provenance Model Vocabulary
OPMV • The goal • The rationale • Overview of the vocabulary • Overview of existing type modules • Tools and examples • Future development
Our Goal • Enable “responsible” data publication, in order to trace the responsible agents and to reproduce results • Enable to describe provenance of any types of data • Easy to use and extend • By people who publish Linked Data • By developers of Linked Data publishing tools
Immutable piece of state, which may have a physical embodiment in a physical object, or a digital representation in a computer system. ARTIFACT
The Rationale • Grounded upon existing SW technologies • Do not explicitly define a graph, OPMGraph • Named Graphs • Reuse existing vocabularies • Lightweight • 3 classes and 12 properties • Reuse 3 classes from the W3C Time Ontology
Overview of the Vocabulary • Defined as a vocabulary expressed using OWL • Implement the core concepts of the Open Provenance Model • No specific granularity prescribed • Partitioned into: • The Core Module • Other typed modules: common, xml, gate, sparql
Overview of the OPMV Vocabulary 1 prefix time: http://www.w3.org/2006/time# Agent Object properties implementing OPM Object properties not as exactly defined in OPM rdfs:subClassOf relationships Artifact wasControlledBy owl:Thing wasGeneratedBy used Process wasTriggeredBy wasGeneratedAt time: Instant time:TemporalEntity time: Interval
OWL Ontology for OPM (1) pc1:p5 a opm:Process ; opm:account pc1:black ; opm:label "Reslice 1" . pc1:an1_p5 a opm:Annotation . pc1:pr_18 a opm:Property ; opm:uri "http://openprovenance.org/primitives#primitive" ; opm:value "http://openprovenance.org/primitives#reslice" . pc1:an1_p5 opm:property pc1:pr_18 . pc1:p5 opm:annotation pc1:an1_p5 . pc1:u_103 a opm:Used ; opm:effect pc1:p1 ; opm:role pc1:r_102 ; opm:cause pc1:a3 ; opm:account pc1:black . pc1:gr_273 a opm:OPMGraph ; opm:hasAccount pc1:black ; opm:hasProcess pc1:p5 , ...; opm:hasArtifact pc1:a25p, ...; opm:hasDependency pc1:u_103, ...
Example: OPMV pc1:p5 rdf:type opmv:Process ; rdfs:label "Reslice 1" . pc1:a3 rdf:type opmv:Artifact opmv:wasGeneratedBy [ rdf:type opmv:Process; opmv:used pc1:p1 ] . pc1:p1 rdf:type opmv:Artifact .
Example: OPMV + Named Graphs pc1:gr_273 { pc1:p5 rdf:type opmv:Process ; rdfs:label "Reslice 1" . pc1:a3 rdf:type opmv:Artifact opmv:wasGeneratedBy [ rdf:type opmv:Process; opmv:used pc1:p1 ] . pc1:p1 rdf:type opmv:Artifact . } pcl:gr_273 rdf:type <http://www.w3.org/2004/03/trix/rdfg-1/Graph> .
Comparison with OPM OWL • A more intuitive OWL ontology and RDF representation • Take full advantage of SW technologies • Lack of explicit semantics for graph membership • Not too much for reasoning • (Probably) a less complete implementation of the OPM Specification
Overview of the Common Module isCachedCopyOf deployedSoftware doap: Version Artifact Agent wasControlledBy used Data used Script isCachedResultOf Process connection common: Zip common: Unzip common: Download http: Connection Object properties implementing OPM Object properties defined in the Common Module 1 prefix common: http://purl.org/net/opmv/types/common# 2 prefix http: http://www.w3.org/2006/http# 3 prefix doap: http://usefulinc.com/ns/doap# rdfs:subClassOf relationships Classes from the Common Module Classes from the other existing vocabularies
Overview of the XSLT Module Artifact Agent source binding wasResultOf Binding Processor initial Template Template Stylesheet processor stylesheet Transformation module Object properties defined in the XSLT Module Process rdfs:subClassOf relationships Classes from the XSLT Module
Publishing OPMV Provenance • ProvenanceJS (Hands-on session)
Future Development • More typed modules • A guide on how to publish provenance • Where and how much • What is the minimum provenance • How to represent the information
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License(http://creativecommons.org/licenses/by-sa/3.0/)