Re: Element names in prov-xml

PROV-XML is not an RDF/XML serialization and I believe it would be a mistake to create the expectation that it conforms to RDF/XML conventions.  Doing so could introduce incorrect assumptions on how PROV-XML maps against PROV-O.  PROV-XML was intended as a non-RDF encoding of PROV.  For a RDF/XML serialization of PROV use PROV-O.

I believe we went with camelCase in element names because it conformed with PROV-N conventions.  We used PascalCase in complexType names to differentiate element and complex type names.  In the schema the complexType for entity has name "prov:Entity" and the element you use to reference a prov:Entity from the document root has name "prov:entity".


On Dec 12, 2012, at 3:23 PM, Paul Groth <> wrote:

> Begin forwarded message:
>> Resent-From: <>
>> From: Egon Willighagen <>
>> Date: December 12, 2012, 22:56:42 GMT+01:00
>> To: "Groth, P.T." <>
>> Cc: Provenance Working Group <>
>> Subject: Re: Element names in prov-xml
>> On Wed, Dec 12, 2012 at 10:48 PM, Paul Groth <> wrote:
>>> I've been having a chat with Egon Willighagen in twitter about the element name case in prov-xml. You can see excerpts below. The key question is why element names are lower case e.g <prov:entity ...> and not upper case. This does not correspond to the convention in rdf/xml plus it looks a bit weird when sitting next to the turtle.
>> The relevant section in the 2004 RDF/XML spec is 2.13 which describes
>> the behavior:
>> "It is common for RDF graphs to have rdf:type predicates from subject
>> nodes. These are conventionally called typed nodes in the graph, or
>> typed node elements in the RDF/XML. RDF/XML allows this triple to be
>> expressed more concisely. by replacing the rdf:Description node
>> element name with the namespaced-element corresponding to the RDF URI
>> reference of the value of the type relationship."
>> You can test it with this XML snippet
>> <rdf:RDF xmlns:rdf=""
>>  xmlns:dc=""
>>  xmlns:prov="">
>>  <prov:entity rdf:about="ex:article">
>> <dc:title>Crime rises in cities</dc:title>
>>  </prov:entity>
>> </rdf:RDF>
>> here ->
>> If you 'validate' it, it will also create other formats, showing that
>> the above RDF/XML has a rdf:type prov:entity ... that confirms that
>> convention.
>> Section 2.13 is not
>>> Do we have a good explanation for this?
>> Also note that my RDF/XML snippet uses rdf:about rather than prov:id
>> ... I have to check whether rdf:ID or rdf:about is more appropriate,
>> but that would be closer to RDF/XML too than prov:id ... but that's a
>> separate thing you may want to look at.
>> Egon
>> --
>> Dr E.L. Willighagen
>> Postdoctoral Researcher
>> Department of Bioinformatics - BiGCaT
>> Maastricht University (
>> Homepage:
>> LinkedIn:
>> Blog:
>> PubList:

Received on Thursday, 13 December 2012 07:06:11 UTC