- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Thu, 14 Feb 2013 15:37:41 +0000
- To: Stephan Zednik <zednis@rpi.edu>
- Cc: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, "public-prov-wg@w3.org" <public-prov-wg@w3.org>
It looks good! I've updated and tested the examples at https://dvcs.w3.org/hg/prov/file/59d3339f4090/xml/examples which all validate. <foaf:name> now works great - a downside is that any unknown elements in a schemaed non-prov namespace is allowed as well, like: <dcterms:madeup>Oh oh</dcterms:madeup> (I thought this was not allowed in 'lax' when the schema for a namespace was known, but perhaps Eclipse is being silly.) Anyway I think it's a compromise that is worthwhile. It still fails if I go against a custom type - like on line 31 in: https://dvcs.w3.org/hg/prov/file/59d3339f4090/xml/examples/custom-example.xml#l31 I would change the intro slightly: > A prov:Bundle is an extension of prov:Entity that can be associated with a set of nested provenance statements, which is represented by the prov:BundleConstructor complexType and referenced with the prov:bundleContent element. Provenance statements may be made about the set by referencing the associated entity. to "A prov:Bundle identifies a set of provenance descriptions, and is an extension of prov:Entity, so allowing provenance of provenance to be expressed by referencing the associated entity. The content of a bundle, ie. its provenance records, can be represented by the prov:BundleConstructor complexType and can be specified with the prov:bundleContent element, its prov:id corresponds to the bundle entity." (What I want to imply is that you can use either <prov:bundle> or <prov:bundleContent> or, ideally, both. ) Later: > The element prov:bundleContent is used to reference a set of nested provenance statements from within a prov:Document. Then we should probably add something like: "Although bundle content can only be represented at <prov:document> level, the corresponding bundle entities may be specified at any <prov:bundle> nesting level, if at all." On Thu, Feb 14, 2013 at 6:12 AM, Stephan Zednik <zednis@rpi.edu> wrote: > Yes. > > --Stephan > > On Feb 13, 2013, at 11:02 PM, Luc Moreau <L.Moreau@ecs.soton.ac.uk> wrote: > >> Thanks Stephan. Is the document ready or review? >> >> Professor Luc Moreau >> Electronics and Computer Science >> University of Southampton >> Southampton SO17 1BJ >> United Kingdom >> >> On 14 Feb 2013, at 00:21, "Stephan Zednik" <zednis@rpi.edu> wrote: >> >>> Hi Luc, >>> >>> Because time is running down on getting the PROV-XML Note ready for the next release I went ahead and updated the editors draft with the discussed changes. >>> >>> https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html >>> >>> I have added sections to the design patterns section concerning the schema modularity and the conventions on type information. >>> >>> https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#schema-modularization >>> https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#type-conventions >>> >>> I have also update the Bundles section with the design that Stian and I have most recently been discussing and which I think will be satisfactory to you. I did rename the element to bundleContent as Stian suggested because it reads much better than bundleConstructor. >>> >>> https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#component4 >>> >>> Please let me know if you would like me to change anything. I tried to make the text in the bundle section clear but it's wording may not align with your interpretation. >>> >>> I have also made several other update to the document including updating the SOTD section, please refer to the Change Log section at the bottom for a summary of changes. >>> >>> --Stephan >>> >>> On Feb 13, 2013, at 9:43 AM, Stephan Zednik <zednis@rpi.edu> wrote: >>> >>>> How about the following changes? More discussion of the bundleConstructor referencing element name below. >>>> >>>> <xs:complexType name="Bundle"> >>>> <xs:complexContent> >>>> <xs:extension base="prov:Entity"> >>>> </xs:extension> >>>> </xs:complexContent> >>>> </xs:complexType> >>>> >>>> <xs:complexType name="BundleConstructor"> >>>> <xs:sequence maxOccurs="unbounded"> >>>> <xs:group ref="prov:documentElements"/> >>>> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> >>>> </xs:sequence> >>>> <xs:attribute ref="prov:id"/> >>>> </xs:complexType> >>>> >>>> <xs:element name="document" type="prov:Document" /> >>>> <xs:complexType name="Document"> >>>> <xs:sequence maxOccurs="unbounded"> >>>> <xs:group ref="prov:documentElements" minOccurs="0"/> >>>> <xs:element name="bundleConstructor" type="prov:BundleConstructor" minOccurs="0"/> >>>> <xs:any namespace="##other" processContents="lax" minOccurs="0" /> >>>> </xs:sequence> >>>> </xs:complexType> >>>> >>>> The group prov:documentElements does not contain a reference to prov:BundleConstructor. >>>> >>>> >>>> On Feb 13, 2013, at 2:50 AM, Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk> wrote: >>>> >>>>> On Wed, Feb 13, 2013 at 8:19 AM, Luc Moreau <l.moreau@ecs.soton.ac.uk> wrote: >>>>>> In section 5.4.2, >>>>>> http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-bundle-entity, you will >>>>>> see the sentence: >>>>>> >>>>>> A bundle description is of the form entity(id, [ prov:type='prov:Bundle', >>>>>> attr1=val1, ...] ) >>>>>> >>>>>> I therefore think it would be very confusing to use the term >>>>>> bundleDescriptions to refer to the constructor of section 5.4.1 >>>>> >>>>> Agreed. >>>>> >>>>> >>>>>> A bundle constructor ◊ allows the content and the name of a bundle to be specified >>>>> >>>>> what about <bundleContent> then? I think that should make distinction >>>>> with <bundle> obvious, more so than the 'constructor' which you would >>>>> have to read PROV-DM with a lens to understand. >>>>> >>>>> >>>>> Thus in a way everything in PROV-XML is a description, <bundle> is a >>>>> bundle description, and <bundleContent> describes the content of the >>>>> bundle (ie. further PROV statements). >>>> >>>> With the modeling suggestion above I use prov:bundleConstructor, but like Stian I am not a big fan of how it reads in XML. >>>> >>>> I like the following (in order of preference): >>>> >>>> bundleContent >>>> bundleRecords >>>> bundleStatements >>>> >>>> --Stephan >>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Stian Soiland-Reyes, myGrid team >>>>> School of Computer Science >>>>> The University of Manchester >>>>> >>>>> >>>> >>>> >>>> >>> -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester
Received on Thursday, 14 February 2013 15:38:42 UTC