Difference between revisions of "ProvNamespaceManagement"

From Provenance WG Wiki
Jump to: navigation, search
(Consumer-oriented view)
(Consumer-oriented view)
Line 120: Line 120:
 
* http://www.w3.org/ns/prov
 
* http://www.w3.org/ns/prov
 
** owl:imports http://www.w3.org/ns/prov-o ([http://dvcs.w3.org/hg/prov/file/tip/ontology/ns/CR-prov-o-20121211/prov-o.owl staged]; [http://dvcs.w3.org/hg/prov/file/tip/ontology/ProvenanceOntology.owl original source])
 
** owl:imports http://www.w3.org/ns/prov-o ([http://dvcs.w3.org/hg/prov/file/tip/ontology/ns/CR-prov-o-20121211/prov-o.owl staged]; [http://dvcs.w3.org/hg/prov/file/tip/ontology/ProvenanceOntology.owl original source])
** owl:imports http://www.w3.org/ns/prov-o-inverses ([http://dvcs.w3.org/hg/prov/file/36f87c764618/ontology/ns/CR-prov-o-20121211/prov-o-inverses.owl staged]; ([http://aquarius.tw.rpi.edu/prov-wg/inverses.ttl draft])
+
** owl:imports http://www.w3.org/ns/prov-o-inverses ([http://dvcs.w3.org/hg/prov/file/36f87c764618/ontology/ns/CR-prov-o-20121211/prov-o-inverses.owl staged]; [http://aquarius.tw.rpi.edu/prov-wg/inverses.ttl draft])
 
** owl:imports http://www.w3.org/ns/prov-aq
 
** owl:imports http://www.w3.org/ns/prov-aq
 
** owl:imports http://www.w3.org/ns/prov-dictionary
 
** owl:imports http://www.w3.org/ns/prov-dictionary

Revision as of 16:08, 16 December 2012

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

Tracking down where the components are and where they'll end up

PROV-O

PROV-O gets staged into a directory like the following (0724 will change to the next MMDD):

<> 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


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.)