Re: Multiple XML schema files for a common target namespace (PROV-ISSUE-608)

Is this issue now ready to be closed?

Here is the section in the editors' draft that gives a brief explanation of the schema modularization.

https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#schema-modularization

Please provide feedback on the section text and let me know when this issue is ready to be closed.

--Stephan

On Feb 14, 2013, at 12:08 PM, Stephan Zednik <zednis@rpi.edu> wrote:

> hi Stain,
> 
> I have updated the bundle text based on your feedback.
> 
> https://dvcs.w3.org/hg/prov/rev/23df88c5f810
> 
> Thanks,
> --Stephan
> 
> On Feb 14, 2013, at 9:57 AM, Stephan Zednik <zednis@rpi.edu> wrote:
> 
>> Thanks Stian.
>> 
>> Good suggestions on the text edits.  I will make the updates today.
>> 
>> --Stephan
>> 
>> On Feb 14, 2013, at 8:37 AM, Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk> wrote:
>> 
>>> 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, 21 February 2013 15:36:18 UTC