- From: Guus Schreiber <schreiber@cs.vu.nl>
- Date: Fri, 15 Aug 2008 21:14:56 +0200
- To: Alistair Miles <A.J.Miles@rl.ac.uk>, Sean Bechhofer <seanb@cs.man.ac.uk>
- CC: SWD WG <public-swd-wg@w3.org>
- Message-ID: <48A5D5B0.4030506@cs.vu.nl>
Alistair, Sean,
Attached is my review. Sorry for the delay.
I like the document a lot. I think we will still be able to take a
decision on Tuesday, if you can manage a response before that time. In
responding just comment on the non-editorial comments. The editorials
ones I leave to your discretion.
Guus
Review SKOS Reference
Version: http://www.w3.org/2006/07/SWD/SKOS/reference/20080730/
This document is in good shape. I have no objections to publishing,
provide the comments below are taken into account. Most comments are
editorial.
GENERAL EDITING
- Please change "foo/bar" examples.
- "Integrity constraints/conditions": use one of these forms consistently
- "data" variably used as singular or plural, e.g.
"SKOS data are" but also "some given data conforms to "
SYNOPSIS
"documented with various types of note"
note => notes
STATUS
The 2nd "feature at risk" is unclear. We have to state the options and
how the current choice might change (e.g. adding property-chaining axioms).
SEC. 1
Consider to add a note about the overall design rationale behind SKOS,
roughly covering the following issues:
- wide coverage of KOSs required
- therefore danger of SKOS schema overcommitment
- WG rationale: if in doubt, don't include a formal constraint (least
commitment strategy), but suggest usage convention or specialization
instead => see Primer
1.2: suggest to change section title to "SKOS Overview"
1.3
" ...I.e. SKOS is itself an OWL Full ontology."
delete this part of the sentence as it is more or less a repetition of
the earlier part.
[[
I.e. it is appropriate (if one has the time, effort and need) to
manually re-engineer a thesaurus or classification scheme as a formal
OWL ontology, using the "concepts" of the thesaurus as a starting point
for creating classes, properties and individuals in the ontology, and
using the informal hierarchies and association networks of the thesaurus
as a starting point for creating the axioms and facts of the ontology.
However, OWL is a formal ontology language, and it does not by itself
provide a natural or suitable data model for expressing a thesaurus or
classification scheme. I.e. it is not appropriate to express the
"concepts" of a thesaurus or classification scheme directly as classes
of an ontology, nor to express the informal (broader/narrower) hierarchy
of a thesaurus directly as a set of class subsumption axioms. The reason
for this is that, because a thesaurus or classification scheme has not
been developed with formal semantics in mind, but rather as an informal
or semi-formal aid to navigation and information retrieval, expressing a
thesaurus hierarchy directly as a set of ontology classes with
subsumption axioms typically leads to a number of inappropriate or
nonsensical conclusions.
]]
I suggest to delete this paragraph. I think the issue is made clear
enough in the rest of the text (also in 1.4), and this paragraph might
be perceived as too opinionated.
1.4
Should we label this section explicitly as "Informative"?
1.5
[[
These statements are not integrity conditions. I.e. the graph below
is perfectly consistent with the SKOS data model, despite the fact that
<A> and <B> have not been explicitly declared as instances of skos:Concept.
]]
I find this unclear, in particular the "despite" part. I would reverse
the argument: OWL Full does not require that <A> and <B> are explicitly
defined as concepts, so the model is consistent. You could also argue
that it is till an integrity constraint, as it disallows, for example,
<A> to be a concept scheme. This is the only point in my review where I
would appreciate some discussion.
1.7
"an RDF graph" => "a RDF graph"
SEC. 2:
I suggest to make the table ordering more logical:
skos:Concept skos:ConceptScheme skos:inScheme
skos:hasTopConcept skos:topConceptInScheme
skos:altLabel
skos:hiddenLabel
skos:prefLabel
skos:note
skos:notation
skos:changeNote
skos:definition
skos:editorialNote
skos:example
skos:historyNote
skos:scopeNote
skos:semanticRelation
skos:broaderTransitive
skos:broader
skos:narrowerTransitive
skos:narrower
skos:related
skos:Collection
skos:OrderedCollection
skos:member
skos:memberList
skos:mappingRelation
skos:closeMatch
skos:exactMatch
skos:broadMatch
skos:narrowMatch
skos:relatedMatch
SEC. 4
Example 5:
[[
<MyConcept> skos:topConceptInScheme <MyScheme> .
]]
This statement could have been derived from the inverse semantics.
Either remove or explicate in the text.
I find the name "skos:topConceptInScheme" too contrived. I prefer the
natural inverse of "skos:hasTopConcept", namely "skos:topConceptOf".
This is probably also eaier to understand and remember.
4.6.3 named RDF graphs
Explain (or refer to Primer) the issue of schema containment and
potential use of SPARQL + named graphs
SEC. 5
5.6.2
[[
For an application that needs to identify labels using URIs, consider
using the SKOS eXtension for Labels defined in Appendix A.
]]
Instead of this single sentence I suggest to make a separate note about
XL (e.g. "5.6.3 Defining label relations"), explicating in a few
sentences why this is needed, just to point readers in the right direction.
5.6.4
This note feels a bit redundant as the point about language tags is
already made at the end of 5.4
SEC. 7
"7" => "seven"
Example 25: I suggest to refrain from using the construct "rdf:value" as
it is so rarely used. If you really need it, you have to add an
explanatory note + RDF ref.
SEC. 8
[[
S26: skos:related is disjoint with the property skos:broaderTransitive.
]]
Is skos:related also disjoint with skos:narrowerTransitive?
8.6.4.
Explain briefly rationale why skos:related is not transitive.
8.6.6
"(e.g. simple query expansion algorithms)": delete "simple"
8.6.10
First par:
".. distinct in nature, and that therefore a ..."
=>
".. distinct in nature. Therefore a ..."
SEC 9
9.6
Suggest to explain briefly the use of "( .. )" notation in Turtle.
SEC 10
S46: should skos:exactMatch not also be disjoint with skos:narrowMatch?
10.6.7:
"link to individuals"
to => two
[[
Generally speaking, using owl:sameAs in this way will lead to
inappropriate inferences, which may sometimes (but not always) be
detectable by checking consistency with the SKOS data model.
]]
Obscure sentence. The point was already made above, suggest to delete
this sentence.
APPENDIX
"A property xl:labelRelation is defined. "
=>
"The SKOS data model also defines the property xl:labelRelation."
A1
I suggest to use "skos-xl:" in the examples instead of "xl". In this
document it is not ambiguous, but in actual usage it might lead to
reduced clarity. People will use the reference as a model.
A2.1
"an RDF plain literal": an => a
A2.2
Shouldn't there be a definition c.q. semantic condition to define the
cardinality of precisely 1 for xl:literalForm? BTW this would make the
FuctionalProperty definition superfluous.
A2.4.1
"As stated above ...": this has actually not been stated yet, see
previous comment.
[[
Second, the function is not surjective. In other words, there may be
no instances of xl:Label with a literal form corresponding to a given
plain literal.
]]
I cannot parse this sentence (in particular the last part); please
reformulate.
A3.4.2
"Note the two integrity conditions on the SKOS labeling properties
defined in Section 5."
=>
""In Section 5 two integrity conditions were defined on the basic SKOS
labeling properties."
Received on Friday, 15 August 2008 19:15:48 UTC