RE: rdfs:isDefinedBy (Was Re: Representing DCMI semantics as RDF schemas versus Web pages)

Hi Patrick,


> -----Original Message-----
> From: Patrick Stickler [mailto:patrick.stickler@nokia.com] 

> On 2002-06-05 2:26, "ext Bill de hÓra" <dehora@eircom.net> wrote:
> 
> 
> > Here's the question: Are XML namespaces RDF resources? If a
> > collection of names identified by a URI reference can be an RDF
> > resource, then an XML namespace can be an RDF resource.
> > 
> > Bill de hÓra
> 
> Obviously, anything in the universe that we can give a URI to
> can be a resource, so in that regard, a namespace can be
> an RDF resource. Sure. But then that URI should not denote anything
> *but* the namespace.
> 
> If the URI that is adopted as a namespace prefix already
> denotes something else, such as a vocabulary, or a schema,
> or other kind of resource, then we introduce ambiguity into
> the SW.


I may not have much hands on experience using RDF in my applications (with the exception of simplistic metadata profiles like DCMI), but I really cannot understand how one can trust my application on processing metadata when it encounters a vocabulary it doesn't know, without the use of  namespace URIs that point to RDFS documents. How can this automation be applied to knowledge distributed over the internet without this mechanism? I always had the impression this is one of the key features of RDF and the way it deals with namespaces.


> It is no better than using a mailto: URL to denote a person.
> How do we then differentiate between the properties of the
> mailbox and the person?

Using an RDF property that unambiguously categorizes the resource as the actual target or an appropriate representative of the target as far as a certain application is concerned ( or a class of applications, that can also be automatically understood using RDF and this method ).


> How do we differentiate between the properties of the namespace
> and some other resource with which it shares its URI.

I'm not sure what exactly you mean by namespace here ;-)


> And if a namespace URI denotes "a collection of names" then
> it is an abstract resource -- not a schema, or namespace
> document, or any other retrievable resource.

Yes! That's why, IMHO, non retrievable URIs should not be used (with some exceptions; even then there should be a property identifying that resource as non-retrievable).


> So if we stick
> some schema, say, at that URI, we again introduce ambiguity,
> since we can't differentiate between the properties of the
> schema and those of the collection of names. And let's not
> forget that a given collection of names might be defined
> by mulitple schemas in various encodings/languages.
> 
> While historically many of the more visible vocabularies
> have had a 1:1 correspondence with a namespace, i.e all
> terms in the vocabulary are grounded in the same namespace
> and the namespace URI also denotes the vocabulary, that is
> not because of any inherent characteristic of namespaces
> themselves and not IMO because that is the "right" way
> to do things.
> 
> You could just as well have a vocabulary that has terms,
> each of which is grounded in a separate namespace, and
> none of those namespace URIs denote the vocabulary. And
> that is just as valid a use of namespaces as the first.
> And in fact, in the case of complex families of ontologies
> with multiple versions and regional/locale variations,
> the latter is precisely what is required.
> 
> Insofar as *web architecture* is concerned, the fact is
> that namespace != vocabulary != schema != doctype, etc.

Yes. But what about "as far as RDF(S) is concerned? How will the RDF WG address this need?


> Finally, if it is argued that namespaces are RDF resources
> and they have a special relation to the terms which are
> grounded within them, then RDF is behaving rather badly
> by discarding the structural partition between namespace
> prefix and local name or not automatically defining such
> a relation in the graph. The concatenation-based transformation
> from qname to URI employed by RDF clearly reflects a view
> that the namespace is irrelevant, and all that matters is
> the URI. 

But namespace information, when used to point resources such as RDFS documents, is irrelevant to the graph. They are only used to find the information needed to complete the graph, no?


> And I don't see namespaces or their relations to terms
> formally defined in the RDF MT either.

Which is a major flaw in the spec, since another mechanism is not provided.


> The bottom line is that there are now two conflicting
> global naming schemes on the Web: qnames and URIs.

Not necessarily. In my non-complicated and perhaps naïve view of things, once the following namespace declaration is in scope

xmlns:foo="http:www.bla.org/ns/foo"

Then foo:object should be just the XML way of denoting http:www.bla.org/ns/foo#object 

However, this relationship was never addressed with a well defined solution/documentation by W3C, for example there's no unambiguous xml:id to serve this purpose.



> 
> XML uses qnames. RDF and most other web technologies use
> URIs.  And RDF/XML uses qnames simply as a hack, similar to
> ENTITYs, just to get URIs into element and attribute
> names, but disregards all structure and semantics defined
> by XML for those qnames. Once you get to the graph, the
> namespaces are gone. Poof.

Why is that bad?


> I again assert, there are namespaces in the RDF model, and
> namespaces are abstract things, not equivalent to schemas,
> and therefore it makes no sense to specify a namespace URI
> as the value of rdfs:isDefinedBy.

I can't argue that since using a property to explicitly point to an RDFS document would affect the graph to include information that may be considered irrelevant. However, in that case, the definition of rdfs:isDefinedBy as given at [1] is really misleading: " The property rdfs:isDefinedBy is a subproperty of rdfs:seeAlso, and indicates the resource defining the subject resource.".


> If rdfs:isDefinedBy is supposed to point to a term's
> namespace, then (1) it is not needed, since that information
> can be retained from the RDF/XML and (2) it should have
> a cardinality of 1 since of course, a term only has one
> namespace. (so clearly, such usage is nonsense)
> 
> IMO rdfs:isDefinedBy should point to any resource that provides
> definition of a term, regardless of encoding/language, and
> it should explicitly *not* be a namespace (which is simply
> an abstract collection of names). As to the nature of the
> defining resource, just use RDF to describe it. Simple.

Absolutely. I see it as a way to point to documentation for us humans.

Kindest regards,

Manos

Received on Wednesday, 5 June 2002 05:46:31 UTC