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

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