- From: Stephan Zednik <zednis@rpi.edu>
- Date: Thu, 21 Feb 2013 08:32:25 -0700
- To: Stephan Zednik <zednis@rpi.edu>
- Cc: "Luc Moreau" <L.Moreau@ecs.soton.ac.uk>, <pgroth@gmail.com>, "Hook Hua" <hook.hua@jpl.nasa.gov>, "Provenance Working Group" <public-prov-wg@w3.org>
- Message-Id: <E23D81F7-8397-4B7C-81F4-1F5D160E05B4@rpi.edu>
I have updated the editors draft of the note with a section on type conventions. https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#type-conventions Is this issue ready to be closed? --Stephan On Jan 31, 2013, at 9:30 AM, Stephan Zednik <zednis@rpi.edu> wrote: > Hi Luc, > > I will update the Type section of the Note with a discussion on subtyping. > > On Jan 31, 2013, at 8:26 AM, Luc Moreau <L.Moreau@ecs.soton.ac.uk> wrote: > >> 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> > > Yes > >> >> - Is it legal to write: >> >> <entity prov:id="foo" xsi:type="prov:Plan"></entity> > > This is a good question. I will look into it. it validates. > >> >> - Are they both equivalent to >> >> <plan prov:id="foo"></plan> > > Yes. > >> >> >> - 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> > > Yes. > >> >> - when there are multiple ways of expressing the same assertion, is there a preferred way? > > I don't believe an official preference has been discussed by the PROV-XML group or general WG. I think my preference would be that the type used be as specific whenever possible (e.g. use <prov:person> instead of <prov:agent> if it's a person) > > For multityping I don't have a preference yet. could suggest using multiple declarations with the same id to multi-type (assuming no id uniqueness restriction). This leaves a PROV-XML specific parser to interpret these two records as describing the same agent. > > <person prov:id="legalperson01"/> > <organization prov:id="legalperson01"/> > > In this case prov:type would generally be used to specify a type that does not have a corresponding complexType in a relevant schema. > > --Stephan > >> >> 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> 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> 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> 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> >>> >>>>>>> >>> >>>>>>> >>> >>> >>> >>> >>> >>>>>>> >>> >>> >>> >>> >>> >>> >>> >> >>> >> >>> >> >>> > >>> > >>> > >>> >>> >>> >> >> -- >> 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, 21 February 2013 15:33:03 UTC