|
Jeroen van der Ham: 11/30/2012 7:54 AM EST
|
|
Action: |
Update
Closed set to 11/30/2012
Status changed from Last Call to Completed
|
|
Jason Zurawski: 08/16/2012 7:26 AM EDT
|
|
Comment: |
This is fine by me in its current state
|
|
Action: |
Update
|
|
Freek Dijkstra: 08/09/2012 12:02 PM EDT
|
|
Comment: |
Typo:
"A client SHOULD leave out the implicit relation when writing NML in XML format, but instead use a direct child element"
should read:
"A client SHOULD leave out the explicit relation when writing NML in XML format, but instead use a direct child element"
or better:
"A client SHOULD leave out the explicit relation when writing NML in XML format, but instead use the indirect form leaving out the Relation element."
|
|
Action: |
Update
|
|
Freek Dijkstra: 08/08/2012 9:17 AM EDT
|
|
Action: |
Update
Category changed from – Network / Topology / Domain to XML syntax
Status changed from Under discussion to Last Call
|
|
|
|
Freek Dijkstra: 07/11/2012 4:56 PM EDT
|
|
Comment: |
As for the forbidden/allowed discussion, all participants so far choose "allowed, but deprecated" over "forbidden".
Thus the option is: "A client SHOULD leave out the implicit relation when writing NML in XML format, but instead use a direct child element".
(This in contrast to the forbidden option, which would have been: "A client MUST leave out the implicit relation when writing NML in XML format, but
instead use a direct child element").
SHOULD or RECOMMEND as per RFC 2119 means a client may still write the relation explicitly, as long as the implications are duly considered.
Furthermore, I am going to write that:
parsers MUST accept the implicit relation
parsers SHOULD accept the explicit relation
(I strongly disagree with Jeroen's interpretation of 29.03.2012 here, as it encourages incompatibility -- a client may write it, but a parser should
not accept it is in my view bad protocol design)
|
|
Action: |
Update
|
|
Jeroen van der Ham: 03/29/2012 12:07 PM EDT
|
|
Comment: |
I say that it should be deprecated, meaning:
parsers MUST accept the implicit relation
parsers SHOULD NOT accept the explicit relation
clients SHOULD write using the implicit relation.
Meaning that if you really really want to, you can use the explicit relation, but you're not guaranteed to have support in all parsers.
|
|
Action: |
Update
|
|
Freek Dijkstra: 03/28/2012 10:10 AM EDT
|
|
Action: |
Update
Category changed from Procedural to – Network / Topology / Domain
Status changed from New to Under discussion
|
|
Freek Dijkstra: 03/28/2012 9:56 AM EDT
|
|
Comment: |
I agree with Jason on 1b.
Just for clarification: do we need to write that a client that creates NML SHOULD use implicit relations for these two, and that a client that parses
NML MUST be able to accept both syntaxes?
|
|
Action: |
Update
|
|
Jason Zurawski: 03/28/2012 9:39 AM EDT
|
|
Comment: |
I prefer:
1b) Explicit hasNode and hasTopology relation is allowed in NML,
but deprecated in favour of an implicit relation.
|
|
Action: |
Update
|
|
Freek Dijkstra: 03/28/2012 8:36 AM EDT
|
|
Comment: |
yes, I meant in XML. Sorry for the confusion.
|
|
Action: |
Update
|
|
Jeroen van der Ham: 03/28/2012 8:28 AM EDT
|
|
Comment: |
I'm assuming that you mean the following:
> Open question (1):
> It is unclear if in XML, the relation MUST be implicit, or MAY be implicit.
(in RDF relations are always explicit)
|
|
Action: |
Update
|
|
Freek Dijkstra: 03/28/2012 8:20 AM EDT
|
|
Comment: |
Here is the full proposal with one open issue:
Implicit relations
==================
> * implicit hasTopology relation between Topology and (sub)topology
> https://forge.ogf.org/sf/go/artf6537
> https://forge.ogf.org/svn/repos/nml-examples/201203-subtopology/hasTopology.xml
> (proposal #2 and optional #1)
>
> * implicit hasNode relation between Topology and Node
> (no artifact created)
> https://forge.ogf.org/svn/repos/nml-examples/201203-subtopology/hasNode.xml
> (proposal #1 and optional #3)
Summary: We need to relate Topology with a Node (meaning that the topology contains a Node), and related a Topology with a Topology (meaning that the
topology contains a subtopology).
Proposal: In XML, we allow (1) implicit relations; in RDF it is required to use an explicit relation.
Example:
XML:
<nml:Topology id="urn:ofg:network:example.net:2012:mynetwork">
<nml:Node id="urn:ofg:network:example.net:2012:mynode1">
...
</nml:Node>
<nml:Topology id="urn:ofg:network:example.net:2012:location1network">
...
</nml:Topology>
</nml:Topology>
RDF:
@prefix exnet <urn:ofg:network:example.net:2012> .
exnet:mynetwork nml:hasNode exnet:mynode1
exnet:mynetwork nml:hasTopology exnet:location1network
Open question (1):
It is unclear if in RDF, the relation MUST be implicit, or MAY be implicit.
Thus: it is clear that the above is allowed. But it is unclear if the following if also allowed or explicitly forbidden:
<nml:Topology id="urn:ofg:network:example.net:2012:mynetwork">
<nml:Relation type="hasNode">
<nml:Node id="urn:ofg:network:example.net:2012:mynode1">
...
</nml:Node>
</nml:Relation>
<nml:Relation type="hasNode">
<nml:Topology id="urn:ofg:network:example.net:2012:location1netw">
...
</nml:Topology>
</nml:Relation>
</nml:Topology>
Choices:
1a) Explicit hasNode and hasTopology relation is forbidden in NML
1b) Explicit hasNode and hasTopology relation is allowed in NML,
but deprecated in favour of an implicit relation.
|
|
Action: |
Update
|
|
|
Jason Zurawski: 03/28/2012 7:15 AM EDT
|
|
Comment: |
Since I remember arguing this already (and don't want to do it again) here are my comments from the email thread of a couple of weeks ago:
Jason:
>> - Some things have an explicit parent/child relationship already (e.g.
>> we know a topology contains nodes, ports, links). Using a relationship
>> to say 'hasNodes' or something similar is redundant, we know they are
>> involved with the topology due to the nature of the schema.
Freek:
> Agreed that it is not necessary. I did it for consistency. E.g. if
> Topology -> Topology, Node -> Port, Node -> Service are all explicit
> (hasTopology, hasPort/hasOutboundPort, hasService), it makes sense to
> also use hasNode. Or we define some others redundant too. (e.g. a
> Service in a Node always implies hasService, a Topology in a Topology
> always implies a hasTopology, etc.)
Jason:
This really bashes the argument of needing a well defined schema though. If everything is related to other things via relationships (and we never use
the explicit parent/child), we end up with this:
- Node, Port, Topology, Link, etc. etc. don't contain anything except relationships
- Relationships allow 'any element' to be inside
- 'Rules' are all semantic for each relationship type
- schematic checking is useless
Wasn't it you who argued a couple of months ago that we need well defined schema so that we know what each element can/may contain :) ?
I agree with your line of reasoning that is hast to be consistent in our use of parent/child vs relationships, and this was a minor mistake on my
examples from Sept as I read them now.
At least in my mind, I would *like* to interpretation the relationship for logical or fuzzy concepts:
- Serial compound pushes together two links
- two ports are pushed together into a bidirectional
- a switching service has inbound and outbound ports associated with it
- a link needs to describe the in vs out ports
I would claim that we don't need these in a relation, and this may force some example changes:
- a switch won't need 'hasports' by itself sine we know the switch has the ports via parent/child.
- A switch can have 'hasinbound' or 'hasoutbound' port relations, as this adds more value
- A topology with 'hasnodes' doesn't seem necessary, we know it has nodes (and ports and links).
- A node with 'providesService', the service could be a direct parent/child (unless its special maybe, I dont have a good use case)
I could be wrong of course, but this seems to make sense as I type it. We should try to use explicit things when we can.
|
|
Action: |
Update
|
|
Jeroen van der Ham: 03/28/2012 5:30 AM EDT
|
|
Comment: |
This is not just for Topology, but also for other implicit relations, such as hasNode, hasPort and others.
RDF/OWL can't use the same containment construct, but has to use explicit relations.
IIRC the explicit relations are used in the XML notation in places where you would use an idRef. This would mean that there are then two ways to
express that "nodeX hasPort portY".
|
|
Action: |
Update
|
|
Jason Zurawski: 03/27/2012 7:26 PM EDT
|
|
Comment: |
If topology currently allows another topology to be a direct child, I see no reason to use a relation. If this isn't a allowed, a relation (
hasTopology) is fine by me
|
|
Action: |
Update
|
|
|
|
|