PROV-XML

PROV-XMLers,


First, I'd like to say that the PROV-XML note and its design is quite a pleasure.
Its clear correspondence to PROV-DM (including element ordering) makes it very easy to pick up.
The organization of the document is also very easy to follow for an implementer.
(I know, because I spent part of the day yesterday writing half of a PROV-XML -> PROV-O converter…)
I think there are some remaining editorial issues, but they are certainly managable.



Second, I was asked last week to consider the fact that PROV-O and PROV-XML use the same URIs, but may be used in different ways.
I'm convinced that any concerns about using the same URI are insignificant compared to the burden that would be involved in establishing and maintaining separate namespaces.
Further, I believe that any differences of use of the URI across encoding schemes (XSD and OWL) can be justified using the AWWW [1], which permits the same resource to be represented in multiple forms. Because XML and OWL are orthogonal, any "misalignment" would be irrelevant because one cannot use both forms at the same time. When one factors away the details of the encoding form (XML and OWL), one is left with the abstract concept -- the 'resource' that is also described in narrative by the DM.
[1] http://www.w3.org/TR/webarch/



Third, I ran into a problem that I hope an XML guru can help me with.
While writing my prov-xml -> prov-o converter, I needed to expand the prefixes that I found in the QNames.

For example, 
"ex:bbcNews2012-03-23"
should expand to
"http://example.com/ns/ex#ex:bbcNews2012-03-23"
in one of the e.g-40 examples (shown below).

It is my understanding that the "xmlns:" specifications are not available as part of the DOM, since they are only part of the syntax.
If that is the case, then it is not straightforward to use XML compliant tools to access the namespace for the prefix "ex" in any QName specified in PROV-XML.
(I think RDF/XML had this same problem, and ended up using XML Entities to "QName" URIRefs -- a bit of an eyesore.)

If it's possible to access the "xmlns:" from the DOM (specifically, within XSL), could someone point me to how?
If one can't access the "xmlns:" from the DOM, might PROV-XML need to add a <prov:prefix> element to provide the namespace?

Thanks,
Tim


<prov:document
    xmlns:prov="http://www.w3.org/ns/prov#"
    xmlns:ex="http://example.com/ns/ex#"
    xmlns:bbc="http://www.bbc.co.uk/">

  <prov:entity prov:id="ex:bbcNews2012-03-23"/>

  <prov:entity prov:id="bbc:news"/>

  <prov:specializationOf>
    <prov:specificEntity prov:ref="ex:bbcNews2012-03-23"/>
    <prov:generalEntity prov:ref="bbc:news"/>
  </prov:specializationOf>

</prov:document>

Received on Thursday, 13 December 2012 14:18:21 UTC