W3C home > Mailing lists > Public > public-prov-wg@w3.org > January 2013

Re: ISSUE-595: Prov-xml subtyping needs to be marked in the document

From: Stephan Zednik <zednis@rpi.edu>
Date: Mon, 14 Jan 2013 18:41:51 -0700
Cc: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, Provenance Working Group <public-prov-wg@w3.org>
Message-Id: <28F17788-8C84-463E-B76E-8814EC7CCB74@rpi.edu>
To: Hook Hua <hook.hua@jpl.nasa.gov>
I have committed changes to the editors draft of the PROV-XML Note to reflect the changes to the schema.

changeset: https://dvcs.w3.org/hg/prov/rev/46e10eeaa3ef

editors draft: https://dvcs.w3.org/hg/prov/raw-file/46e10eeaa3ef/xml/prov-xml.html

--Stephan

On Jan 14, 2013, at 2:55 PM, Stephan Zednik <zednis@rpi.edu> wrote:

> 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 Tuesday, 15 January 2013 01:42:44 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:51:27 UTC