[Nml-wg] Serial compound relations

Freek Dijkstra Freek.Dijkstra at sara.nl
Mon Dec 13 14:07:50 CST 2010


Jason Zurawski wrote:

>> A better syntax proposal is indeed (note that nml:segment is replaced by
>> nml:link, and nm:idRef is replaces by nm:id):
>>
>> <nml:link type="link" nm:id="urn:ogf:network:example.net:pathAC">
>>    <nml:relation type="serialcompound" cl:type="partial">
>>      <nml:link nm:id="urn:ogf:network:example.net:segmentAB"/>
>>    </nml:relation>
>> </nml:link>
> 
> I still think this is a little off.  I would assume that 'segmentAB' 
> belongs to someone already?  If this is the case, it's defined already, 
> so you would use an idRef (as a pointer) in the second enclosed link 
> instead of an id.  If it is not already defined, than the use of 'id' is
> appropriate, but brings up another issue of defining links within 
> relations/other links.  We have avoided this in the past.

Actually, it is still not quite clear to me why there is a need to
distinguish between id and idRef. If two objects have with the same
value for the id attribute, it is clear they refer to the same thing.

(Obviously I can imagine a few reasons to distinguish between id and
idRef. For example (1) RDF has them both -with different names- for
syntaxtic reasons; (2) id is used by authoritative sources, while idRef
is used by non-authoratitive sources; (3) id is used when the object is
defined the first time in a document, and idRef is used subsequently.
Neither of these reasons is very convincing to me; perhaps you can
elaborate a bit more what distinction you see and why this distinction
is required.)

> I would make the example as so (again, removing the use of the attribute 
> namespaces since I also feel this is really confusing things):
> 
> <nml:link id="urn:ogf:network:example.net:pathAC">
>    <nml:relation type="serialcompound">
>      <nml:link idRef="urn:ogf:network:example.net:segmentAB"/>
>    </nml:relation>
> </nml:link>
> 
> Lastly the inclusion of the 'type=partial' is still rather foreign to 
> me, so I omitted it.  Can you explain why you need to do this?

In the above I was trying to describe the following information:
"urn:ogf:network:example.net:segmentAB is a segment of the end-to-end
link urn:ogf:network:example.net:pathAC, but I don't know the names of
other segments of this path".

This seems typical information that the domain who provisioned
urn:ogf:network:example.net:segmentAB might say.

The addition of the word "partial" was trying to emphasis that, but I
agree that it can be conveyed with other means (such as the lack of a
"count" attribute in the above, meaning that the list may be incomplete.)

Regards,
Freek


More information about the nml-wg mailing list