Here is my review of the OWL schema: Discrepancy between names in document and OWL schema: * List should be OrderedList * endtime should be end * starttime should be start * labelvalue should be value * labelvalues should be values (I actually like endtime and starttime better, but the document and XSD schem use end and start) Missing items: * nml:canProvidePort relation * nml:parameter (likely not needed, just as nml:Relation is not needed) * nml:labelSwapping (DataProperty with domain: SwitchingService and range: boolean) * nml:noReturnTraffic (DataProperty with domain: Link and range: boolean) Spurious items (should be removed): * hasSource (use isSource instead) * hasSink (use isSink instead) * time (use start and end instead) The domains and/or ranges of the following Properties are different from what's allowed in the document: * hasInboundPort Domain should be NetworkObject (to allow future extensions) Range should be Union of Port and PortGroup * hasLabelGroup Domain is correct Range should be Union of LinkGroup and PortGroup * hasLink Domain should be Group (to allow future extensions) Range is correct * hasNode Domain should be NetworkObject (to allow future extensions) Range is correct * hasOutboundPort Domain should be NetworkObject (to allow future extensions) Range should be Union of Port and PortGroup * hasPort Domain should be Group (to allow future extensions) Range should be Union of Port and PortGroup * hasTopology Domain should be NetworkObject (to allow future extensions) Range is correct * implementedBy Domain should be NetworkObject (to allow future extensions) Range should be NetworkObject (to allow future extensions) * isSerialCompoundLink Domain is correct Range should be OrderedList * isSink Domain should be NetworkObject (there is an experimental feature from Node to Link) Range is correct * isSource Domain should be NetworkObject (there is an experimental feature from Node to Link) Range is correct * locatedAt Domain should be NetworkObject (e.g. Port is perfectly valid) Range is correct * providesLink Domain should be Service (to allow future extensions) Range is correct * providesPort Domain should be Service (to allow future extensions) Range is correct * item Domain is correct Range is correct (undefined) * adaptationfunction Domain is correct Range should be a URI * address Domain is correct Range should be undefined (typical use is a vCard object) * encoding Domain should be Union of Port, PortGroup, Link, and LinkGroup Range should be a URI * labeltype Domain is correct Range should be a URI * version Domain should be NetworkObject (to allow future extensions) Range should be a dateTime (from XMLSchema) The ranges of the following DataProperties are a URI, and thus should be described as a ObjectPoperty instead: * address (points to a vCard object) * adaptationfunction (points to an object in a NML extension schema) * encoding (points to an object in a NML extension schema) * labeltype (points to an object in a NML extension schema) For consistency in the document, consider swapping the order of domain and range in the following DataProperties: - existsDuring - hasInboundPort - hasLabel - hasLabelGroup - hasLink - hasNode - hasOutboundPort - hasPort - hasTopology - implementedBy - isAlias - isSerialCompoundLink - isSink - locatedAt Regards, Freek
Hi,
On 27 Dec 2012, at 12:33, Freek Dijkstra
Missing items: * nml:canProvidePort relation
This does not seem to be in the doc or XML schema either? Did we define that?
* hasLabelGroup Domain is correct Range should be Union of LinkGroup and PortGroup
This is not in the schema doc. How does a PortGroup hasLabelGroup PortGroup? What does that mean? All the other changes that you listed I applied, thank you very much for your thorough review! Jeroen.
On 15-01-2013 01:54, Jeroen van der Ham wrote:
Missing items: * nml:canProvidePort relation
This does not seem to be in the doc or XML schema either? Did we define that?
It was discussed on the mailing list between Sep 28 and Oct 5. It is in the document since Dec 8: http://redmine.ogf.org/projects/nml-wg/repository/revisions/24456d9507f50203...
* hasLabelGroup Domain is correct Range should be Union of LinkGroup and PortGroup
This is not in the schema doc. How does a PortGroup hasLabelGroup PortGroup? What does that mean?
I was wrong here. The Range is correct. The Domain should be Union of LinkGroup and PortGroup. The Domain is currently a PortGroup only, but I see no fundamental reasons not to allow adding labels to a LinkGroup. I may have made a another mistake in my advice. The range of isSerialCompoundLink is now changed to OrderedList (was: List). However, looking at the example section in the document, the OrderedList object is not used, but the ListItem object as follows: Link A --(isSerialCompoundLink)--> ListItem #1 ListItem #1 --(item)--> Link #1 ListItem #1 --(next)--> Link #2 ListItem #2 --(item)--> Link #2 ListItem #2 --(next)--> Link #3 ListItem #3 --(item)--> Link #3 So I guess the Range of isSerialCompoundLink is "ListItem" in RDF. FYI, for XML, the "OrderedList" object is also not used: Link A --(isSerialCompoundLink)--> Link #1 Link #1 --(next)--> Link #2 Link #2 --(next)--> Link #3 That brings me to another issue: where should the following objects be defined: * ListItem object * next relation * item relation Currently, the document does not define any of these. I'm inclined that these should be described in the sections where the syntax is defined (thus in the Appendix?) In addition to the appendix, should they be listed in the normative text just to 'claim' the URI "http://schemas.ogf.org/nml/2012/10/base#next" somewhere? Freek
Hi,
On 16 Jan 2013, at 14:24, Freek Dijkstra
On 15-01-2013 01:54, Jeroen van der Ham wrote:
Missing items: * nml:canProvidePort relation
This does not seem to be in the doc or XML schema either? Did we define that?
It was discussed on the mailing list between Sep 28 and Oct 5.
It is in the document since Dec 8: http://redmine.ogf.org/projects/nml-wg/repository/revisions/24456d9507f50203...
My apologies, I was using an outdated subversion version. It's in now, and I've updated the schema to reflect this.
* hasLabelGroup
The Domain is currently a PortGroup only, but I see no fundamental reasons not to allow adding labels to a LinkGroup.
Done.
The range of isSerialCompoundLink is now changed to OrderedList (was: List). However, looking at the example section in the document, the OrderedList object is not used, but the ListItem object as follows:
Updated.
That brings me to another issue: where should the following objects be defined: * ListItem object * next relation * item relation
I had some text that was at the top of the OWL schema. I've moved that a subsubsection of the Syntax discussion at the end of the Schema section. This also makes it normative. Jeroen.
participants (3)
-
Freek Dijkstra
-
Freek Dijkstra
-
Jeroen van der Ham