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

Hi Stephan,

I think I would like to see some explanation in the html document on how 
we express subtyping.
A few questions, to illustrate the guidance I am looking for.


- Is it still legal to write

   <entity prov:id="foo"><prov:type 
xsi:type="xsd:QName">prov:Plan</prov:type></entity>

- Is it legal to write:

   <entity prov:id="foo" xsi:type="prov:Plan"></entity>

- Are they both equivalent to

   <plan prov:id="foo"></plan>


- prov:type is used for "multiple inheritance"

   <agent prov:id="bar">
     <prov:type xsi:type="xsd:QName">prov:Person</prov:type>
     <prov:type xsi:type="xsd:QName">foaf:Person</prov:type>
     <prov:type xsi:type="xsd:QName">ex:Employee</prov:type>
   </agent>

- are the following equivalent?
   <agent prov:id="legalperson01">
     <prov:type xsi:type="xsd:QName">prov:Person</prov:type>
     <prov:type xsi:type="xsd:QName">prov:Organization</prov:type>
   </agent>

   <person prov:id="legalperson01">
     <prov:type xsi:type="xsd:QName">prov:Organization</prov:type>
   </person>

   <organization prov:id="legalperson01">
     <prov:type xsi:type="xsd:QName">prov:Person</prov:type>
   </organization>

- when there are multiple ways of expressing the same assertion, is 
there a preferred way?

Thanks,
Luc

On 01/31/2013 12:56 PM, Paul Groth wrote:
> For me it does.
>
> Thanks
> Paul
>
>
> On Wed, Jan 30, 2013 at 7:08 PM, Stephan Zednik <zednis@rpi.edu 
> <mailto:zednis@rpi.edu>> wrote:
>
>     Paul, Luc
>
>     Do the updates to the schema and the Note documentation resolve
>     this issue?
>
>     Thanks,
>     --Stephan
>
>     On Jan 14, 2013, at 6:41 PM, Stephan Zednik <zednis@rpi.edu
>     <mailto:zednis@rpi.edu>> wrote:
>
>     > 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
>     <mailto: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 <mailto: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
>     <mailto: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>
>     >>>>>>>
>     >>>>>>>
>     >>>
>     >>>
>     >>>>>>>
>     >>>
>     >>>
>     >>>
>     >>
>     >>
>     >>
>     >
>     >
>     >
>
>
>

-- 
Professor Luc Moreau
Electronics and Computer Science   tel:   +44 23 8059 4487
University of Southampton          fax:   +44 23 8059 2865
Southampton SO17 1BJ               email: l.moreau@ecs.soton.ac.uk
United Kingdom                     http://www.ecs.soton.ac.uk/~lavm

Received on Thursday, 31 January 2013 15:26:54 UTC