- 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