Re: Ambiguity of "RDF namespace" - was: Re: Contradicting definitions of "property"

On Fri, May 04, 2012 at 07:45:12PM +0100, Richard Cyganiak wrote:
> On 4 May 2012, at 15:05, Thomas Baker wrote:
> >> [[
> >> An RDF vocabulary is a collection of IRIs with clearly established referents intended for use in RDF graphs.
> >> ]]
> >>
> >> Based on that, I'd say:
> >>
> >> In the RDF context, any set of IRIs that start with the same substring are a
> >> namespace. The shared substring is the namespace's namespace IRI. This says
> >> nothing about what these IRIs identify or what they dereference to; it's
> >> purely a matter of IRI syntax.
> >
> > Okay, but I read this as strongly implying that a namespace is type of RDF
> > vocabulary
>
> I would disagree.
>
> RDF vocabulary: IRIs with clearly established referents intended for use in RDF graphs.
>
> Namespace: IRIs that syntactically start with the same sub-IRI.

I'll buy that.  Hmm, not "set of IRIs"?

> > Also, I wonder if this gives me license to speak of the
> > "http://www.w3.org/1999/" namespace, "http://purl.org/dc/" namespce,
>
> Of course. People do this all the time ? ?anywhere in W3C's namespace? and so on.

Fine.

> > If this really is purely a matter of IRI syntax, slipping into saying that
> > there is a conceptual resource called a "namespace" denoted by the
> > "namespace URI" seems to muddy the waters.
>
> Right, that's why I didn't say it. Namespace IRIs are just the shared
> substring. Says nothing about what they denote.

I'm with you re: namespace IRIs being just the shared substring.  However, you
do refer to "a namespace" when you say: "In the RDF context, any set of IRIs
that start with the same substring are a namespace" (above).  The distinction
between "collection of IRIs" (RDF vocabulary) and "set of IRIs" (namespace)
somehow needs to be brought out more clearly.

Also, the current draft of RDF Concepts 1.1 [1] still says:

    "Vocabulary terms in the rdf: namespace are listed and described in
    detail..."

    This suggests that the "rdf: namespace" holds not just any IRIs, but
    "vocabulary terms" denoted by IRIs.  At any rate, that is how I read your
    earlier point:

    > The analogy with classes shows IMO that RDF Concepts is wrong and RDF
    > Semantics is right. The IRI <http://xmlns.com/foaf/0.1/Person> *is* not a
    > class, but it *denotes* a class.

and

    "The RDF namespace is also used as an XML namespace [XML-NAMES]..."

    ...where "RDF namespace" means (I think) "rdf: namespace IRI".

I note in passing that SKOS Reference [2] says:

    "The SKOS vocabulary is a conceptual resource identified by the namespace
    URI http://www.w3.org/2004/02/skos/core#..."

Would you disagree?

[1] http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-URIspaces
[2] http://www.w3.org/TR/skos-reference/#namespace-documents

> >> It is very common for all IRIs in an RDF vocabulary to be in the same
> >> namespace. In this case, it makes sense to speak of the vocabulary's
> >> namespace IRI.
> >
> > How about:
> >
> >    It is very common for all IRIs in an RDF vocabulary to start with a common
> >    substring, or base URI.
>
> Base URI is an inappropriate technical term here. A base URI is a URI used to
> resolve relative URIs to absolute URIs in documents. (?resolve? in the URI
> syntax sense, not in the HTTP sense.)

Fine - "shared substring" seems to avoid the misleading association.

> >    In this case, it makes sense to speak of the
> >    vocabulary's namespace IRI.  An RDF vocabulary that consists of IRIs
> >    starting with a common namespace IRI is, by convention, referred to
> >    informally as a "namespace".
>
> Not an appropriate use of the word ?namespace?, IMO, see above.

I think we are agreeing that usage needs to be tightened.

> > But if a namespace is a type of RDF vocabulary, as implied above,
>
> In my mind it's not.
>
> > would one not perhaps want to refer to it as an RDF namespace?
>
> Doesn't make sense to me. If namespaces are sets of IRIs, then there's
> nothing that makes a namespace ?RDF-specific?. Sets of IRIs are not specific
> to a particular data model or representation format.

Fine - I can live with this, but only if it is clearly stated somewhere...

> >> The wording used in RDF Schema ? ?class X is defined in the Y namespace? ?
> >> is sloppy language, IMO. Classes are defined in documents, not in
> >> namespaces.
> >
> > Okay - and rdfs:isDefinedBy points to documents?
>
> Formally it can point to anything. I think pointing it to a document
> containing the description of the subject is good practice because it's
> useful ? I can look up the definition.

I'd love to see this clarified right in the section on rdfs:isDefinedBy in [1],
though I'd half-expect that a lack of consensus about whether an OWL ontology
is a document (see below) might also apply here to the notion of an RDF
vocabulary.

[1] https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-schema/index.html#ch_isdefinedby

> >> You can argue about whether skos:Concept is defined in the SKOS specification
> >> or in the SKOS namespace document, but saying that ?it is defined in the SKOS
> >> namespace? doesn't really make sense. The IRI of the class X may be in the Y
> >> namespace.
> >>
> >> What is identified by a namespace IRI? It is up to the IRI owner to tell us.
> >
> > I think it is very important to say this clearly somewhere.
>
> How is this?
> http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#referents

It looks pretty good to me!  I'm not sure what makes a referent "clearly
established", but maybe the vagueness is appropriate.  If a place is found to
document the social use of the term "namespace", such as in a glossary, I'd
perhaps take pity on the reader and at least point to it from here.

> >> It is a useful convention to do so in the namespace document. In the case of
> >> slash namespace IRIs, the namespace IRI coincides with the IRI of the
> >> namespace document, so that's what it identifies. In a hash namespace IRI,
> >> the IRI of the namespace document is the namespace IRI minus the trailing
> >> hash, so the namespace IRI might potentially identify something other than
> >> the namespace document. My preferred setup (which differs from early W3C
> >> practice) is to have it identify *nothing*, and just talk about the hash-less
> >> IRI of the namespace document.
> >
> > Fine.  Maybe the RDF specs could leave it at: "it is up to the IRI owner to
> > tell us", and anything beyond that could be in primers and best practice
> > notes.
>
> Well, the terms ?namespace?, ?namespace prefix? and ?namespace IRI? don't
> really have proper definitions anywhere in the RDF documents, as far as I
> know. That's because they are sort of just syntax, so there's little
> justification for explaining them in the Concepts or Schema or Semantics doc.
> So every syntax document (RDF/XML, Turtle, etc.) defines them again, and only
> says the minimum needed for the specific syntax. Perhaps the Primer would be
> a good place, but people don't tend to read it as a reference document. A
> difficult situation!
>
> What's the first place where people would look for these terms, in your opinion?
>
> Do we need a ?Semantic Web Glossary? document?

If the term "namespace" is being used in normative specifications for RDF, I
should think it would need also to be defined there, but I guess a separate
Glossary would do the trick.  It could provide a place to clarify other
troublesome concepts in an informal, readable way, especially where there is a
*ahem* "range of opinions" among reasonable experts.  For starters, how about
"ontology"?  Is it really a document I can print out and staple to the wall?
Then point to the Glossary from the RDF documents...

Tom

--
Tom Baker <tom@tombaker.org>

Received on Friday, 4 May 2012 21:04:46 UTC