ProvNamespaceManagement

The WG decided on #Solution_2.2_Use_owl:import_and_return_full_merge_of_PROV-O_and_all_Notes


Intro

This page describes the management (and issues around) of the prov namespace.

The namespace is:

Some requirements:

Current Issues

How to handle multiple XML schemas with (same?) namespaces

PROV-XML uses the same namespace http://www.w3.org/ns/prov#, and it would be desirable for each extension (like mentionOf, dictionary, etc) to not need a new namespace.

See ProvXMLNamespaces for a discussion of alternative approaches.


Which owl should be returned when dereferencing

Proposal 1: Merge all owl files into one namespace owl

Here the idea is that each note would maintain a separate owl file. For example sake let's use the following names:

  • ProvenanceOntology.owl - the file containing owl definitions of terms in prov-o
  • prov-aq.owl - the file containing owl definitions of terms in the paq
  • prov-dict.owl - the file containing the owl definitions of terms in prov dictionaries

The proposal would be that this would be merged into a single file

  • prov.owl

The single file would contain concatenated sections delimitated by comments e.g.

# ...
prov:Entity a owl:Class .
# ...
##This section of the prov.owl contains terms from prov-aq
prov:hasProvenanceService a owl:ObjectProperty .
# ...

In addition we would add provenance information identifying where the information was retrieved from

<> prov:wasDerivedFrom <http://www.w3.org/TR/prov-o/prov-20121231.owl> . 

Stian: Should not the above go to the OWL file from the timestamped REC? (changed)

Tim: +1 to Stian. The current location is http://www.w3.org/TR/prov-o/prov.owl, but I plan to use ~ http://www.w3.org/TR/prov-o/prov-20121231.owl when it gets published (to future proof for changes).


Upsides

  • Machine readable information for all terms in the namespace can be easily retrieved

Downsides

  • Creates a monolithic file
  • Some provenance is lost
  • Confusing to know what is part of recommendation or not
  • Confusing which is the official recommendation, prov.owl or ProvenanceOntology.owl - gut instinct would be that the official is what you get from resolving namespace!

Proposal 2: Use owl:import

Here we define a single owl file that imports the necessary information from all the separate owl files. Something like:

<> owl:imports <http://www.w3.org/TR/prov-o/prov-20121231.owl> .
<> owl:imports <http://dvcs.w3.org/hg/prov/raw-file/98870b4c796c/ontology/prov-dictionary.owl> .

Stian: Should not the above URLs point to the OWLs of the timestamped REC and Note's folders?


Upsides

  • Creates a simple file with clear distinction between which terms are defined by which notes

Downsides

  • No simple dereferencability
  • Requires owl reasoning

Proposal 2.1 Use owl:import, but return only PROV-O

This hybrid solution is a single OWL file with the content of ProvenanceOntology.owl (PROV-O) - but with the additional owl:imports for the modules. It will include provenance to the OWL of the official REC that it is derived from.

## Terms declared here are copied verbatim from the PROV-O recommendation
<> a owl:Ontology ;
   prov:hadPrimarySource <http://www.w3.org/TR/2012/WD-prov-o-20120799/ProvenanceOntology.owl> .
# ...
prov:Entity a owl:Class .
# ...
## This namespace also covers terms from notes which
## don't form part of the PROV-O recommendation.
#
<> owl:imports <http://www.w3.org/TR/prov-aq/prov-aq.owl>,
               <http://www.w3.org/TR/prov-collections/prov-collections.owl> .

Upsides

  • Distinguishes 'official' bit (PROV-O REC) from additional modules (notes)
  • Does not require OWL reasoning for official terms
  • Stronger metaprovenance

Downsides

  • Requires OWL reasoning for notes.

Solution 2.2 Use owl:import and return full merge of PROV-O and all Notes

The WG resolved to use this approach on 19 July 2012:

15:39:27 <pgroth> accepted: for the owl file that comes back from the prov namespace - (solution 2.2. ) 
Use owl:import and return full merge of PROV-O and all Notes

Consumer-oriented view


Sketch of PROV using activity and plan:

<> a owl:Ontology ;
   prov:wasGeneratedBy :merge2012-12-16;
   prov:hadPrimarySource <http://www.w3.org/TR/2012/WD-prov-o-20120799/ProvenanceOntology.owl>;
.

:merge2012-12-16
   prov:used <http://www.w3.org/TR/prov-o/prov-20121231.owl>,
             <http://www.w3.org/TR/prov-o/inverses-20121231.owl>,
             <http://www.w3.org/TR/prov-aq/prov-aq.owl>,
             <http://www.w3.org/TR/prov-collections/prov-collections.owl>;
   prov:qualifiedAssociation :mergeAssociation2012-12-16;
.
:mergeAssociation2012-12-16
   a prov:Association;
   prov:hadPlan <#RDFGraphMerge>;
.
<#RDFGraphMerge>
   a prov:Plan;
   rdfs:label "RDF Graph Merge";
   foaf:page <http://www.w3.org/TR/rdf-mt/>;
   dcterms:description [
      prov:value "A merge of a set of RDF graphs is defined as follows. If the graphs in the set have no blank nodes in common, then the union of the graphs is a merge; if they do share blank nodes, then it is the union of a set of graphs that is obtained by replacing the graphs in the set by equivalent graphs that share no blank nodes.";
      prov:wasQuotedFrom <http://www.w3.org/TR/rdf-mt/>;
   ]
.

## Terms declared here are copied verbatim from the PROV-O recommendation
# ...
prov:Entity a owl:Class .
# ...
## This namespace also covers terms from notes which
## don't form part of the PROV-O recommendation.
#

<> owl:imports <http://www.w3.org/TR/prov-aq/prov-aq.owl> .

## This section of the prov.owl contains terms from prov-aq
prov:hasProvenanceService a owl:ObjectProperty .
# ...

<> owl:imports <http://www.w3.org/TR/prov-collections/prov-collections.owl> .

## This section of the prov.owl contains terms from prov-dictionary
prov:Dictionary a owl:Class .
# ...

Upsides

  • Distinguishes 'official' bit (PROV-O REC) from additional modules (notes)
  • Does not require OWL reasoning for official terms
  • Stronger metaprovenance

Downsides

  • Distinguishing "the big chunk that comes back" requires some work (but still possible)

make simple things easy and hard things possible

Recap:

<> prov:wasDerivedFrom  <http://www.w3.org/ns/prov-o.owl> .
<> owl:imports <http://www.w3.org/ns/prov-o.owl>.
## Copy of content of prov-o here.
 

<> prov:wasDerivedFrom  <http://www.w3.org/ns/prov-aq.owl> .
<> owl:imports <http://www.w3.org/ns/prov-aq.owl>.
## Copy of content of prov-aq here
/ns/

Denis moved the following to /ns and fixed the references to TR documents. Please, check that he got everything right.


prov-o-mention and prov-o-inverses should both owl:imports prov-o (but we do not provide the materialization) prov-o, prov-o-mention, and prov-o-inverses


implementation =


XML considerations

ProvXMLNamespaces

Proposal 3 Define all terms in a single OWL file

Terms that are not formally part of PROV-O would be described using just annotation properties (rdfs:label, rdfs:comment), so they don't show up in Ontology processing tools, but are still present for documentary purposes when the namespace is dereferenced.

(Additional annotation properties -- provenance even -- might be added so that automated processing tools could separate the terms on the basis of where they are introduced and more fully described.)

Last modified on 29 April 2013, at 13:06