- From: Stephan Zednik <zednis@rpi.edu>
- Date: Mon, 14 Jan 2013 14:55:38 -0700
- To: Hook Hua <hook.hua@jpl.nasa.gov>
- Cc: Stephan Zednik <zednis@rpi.edu>, Luc Moreau <L.Moreau@ecs.soton.ac.uk>, Provenance Working Group <public-prov-wg@w3.org>
I have updated the PROV schema with new elements and complex types that reflect PROV-defined specializations of entity (bundle, collection, empty collection, plan), agent (person, organization, software agent) and derivation (quotation, revision, primary source).
You can now define a prov:Person with the following XML:
<prov:person prov:id="ex:Paolo" />
The old manner of defining a prov:Person (and all other types affected by this update) is still valid.
<prov:agent prov:id="ex:Paolo">
<prov:type xsi:type="xsd:QName">prov:Person</prov:type>
</prov:agent>
Similar updates have been made for bundle, collection, empty collection , plan, organization, software agent, quotation, revision, and primary source.
In the case of quotation, revision, and primary source the XML elements have been named to align with PROV-O.
<xs:element name="wasRevisionOf" type="prov:Revision"/>
<xs:element name="wasQuotedFrom" type="prov:Quotation"/>
<xs:element name="hadPrimarySource" type="prov:PrimarySource"/>
Change-set to PROV-XML schema
https://dvcs.w3.org/hg/prov/rev/fb3e3ef40222
Change-set to PROV-XML example files
https://dvcs.w3.org/hg/prov/rev/33a576fb0b32
The editors draft of the PROV-XML note has not yet been updated, but I intend to have it updated before this week's telecon.
--Stephan
On Nov 21, 2012, at 5:00 PM, "Hua, Hook (388C)" <hook.hua@jpl.nasa.gov> wrote:
> Hi Stephan and Luc,
>
> If we end up supporting both ways (three if you count Luc's one-liner
> attribute way), then it may leave some variability of validation in the
> different approaches.
>
> For example, with the <prov:wasRevisionOf> approach, it can be explicitly
> validated by code ingesting the XML traces since the type is expressed in
> the XSD.
>
> But with the <prov:type xsi:type="xsd:QName">prov:Revision</prov:type>
> approach, the type value is currently left open as an xs:anySimpleType.
>
> Since we are explicitly defining an <prov:wasRevisionOf>, should we then
> define a matching set of restriction constraints on <prov:type> ? For
> example, a simpleType restriction with enumerations that match the
> explicit extensions:
>
> <xs:complexType name="Derivation">
> <xs:sequence>
> <xs:element name="generatedEntity" type="prov:EntityRef"/>
> <xs:element name="usedEntity" type="prov:EntityRef"/>
> <xs:element name="activity" type="prov:ActivityRef"
> minOccurs="0"/>
> <xs:element name="generation" type="prov:GenerationRef"
> minOccurs="0"/>
> <xs:element name="usage" type="prov:UsageRef"
> minOccurs="0"/>
> <xs:choice minOccurs="0" maxOccurs="unbounded">
> <xs:element ref="prov:label"/>
> <xs:element ref="prov:type">
> <xs:simpleType>
> <xs:restriction base="xs:anySimpleType">
> <xs:enumeration value="prov:Revision"></xs:enumeration>
> </xs:restriction>
> </xs:simpleType>
> </xs:element>
> <xs:any namespace="##other"/>
> </xs:choice>
> </xs:sequence>
> <xs:attribute ref="prov:id"/>
> </xs:complexType>
>
> <xs:element name="wasDerivedFrom" type="prov:Derivation"/>
>
>
> --Hook
>
>
>
>
> On 11/19/12 10:33 PM, "Luc Moreau" <L.Moreau@ecs.soton.ac.uk> wrote:
>
>> Hi Stephan,
>>
>> I think I concur with your conclusion: it may end up making tooling
>> complex. Plus, the third way of writing things:
>>
>> <proc:agent xsi:type="prov:Person" prov:id="ex:e"/>
>>
>> Professor Luc Moreau
>> Electronics and Computer Science
>> University of Southampton
>> Southampton SO17 1BJ
>> United Kingdom
>>
>>>>>
>>>>> <prov:wasDerivedFrom>
>>>>> <prov:generatedEntity prov:ref="tr:WD-prov-dm-20111215"/>
>>>>> <prov:usedEntity prov:ref="tr:WD-prov-dm-20111018"/>
>>>>> <prov:type xsi:type="xsd:QName">prov:Revision</prov:type>
>>>>> </prov:wasDerivedFrom>
>>>>>
>>>>> could now be modeled as
>>>>>
>>>>> <prov:wasRevisionOf>
>>>>> <prov:generatedEntity prov:ref="tr:WD-prov-dm-20111215"/>
>>>>> <prov:usedEntity prov:ref="tr:WD-prov-dm-20111018"/>
>>>>> </prov:wasRevisionOf>
>>>>>
>>>>>
>
>
>>>>>
>
>
>
Received on Monday, 14 January 2013 21:57:09 UTC