W3C home > Mailing lists > Public > www-rdf-interest@w3.org > September 2004

Re: query!

From: Charles McCathieNevile <charles@w3.org>
Date: Sat, 4 Sep 2004 17:14:50 -0400 (EDT)
To: Leo Sauermann <leo@gnowsis.com>
Cc: go4chaitu_eng@yahoo.co.in, www-rdf-interest@w3.org
Message-ID: <Pine.LNX.4.55.0409041640450.18563@homer.w3.org>

On Tue, 31 Aug 2004, Leo Sauermann wrote:

...
>>ok,so all the rdf files with foaf tags will be used in
>>searching applications of some subject like person.
>>Now my question is ,
>>    i will use the same namespace (ie).,
>>       http://xmlns.com/foaf/0.1/
>>but i will define my own properties for a person.I can
>>do it right!
>>
>>
>You are not allowed to use the foaf namespace to do your own things.
>Foaf belongs to the Foaf project and people will flame you, if you steal
>their namespace they have registered.
>So you cannot do:
>http://xmlns.com/foaf/0.1/streetAddress (which is not in the spec)
>but you can do:
>http://go4chaitu.org/myPerson/streetAddress
>and mix it.

And Reto said:

You can squat the namespace, however since one expects a definition of
the terms at http://xmlns.com/foaf/0.1/ you cannot control the meaning
of the terms.

So:
In fact there is nothing to prevent you from making up a term in the FOAF
namespace, providing rich semantic description of it, and using it. But it is
generallly considered anti-social and likely to disrupt the fabric of the web
- the same way that changing URIs of things you publish is harmful to the
web.

If you think people are looking at the namespace prefix or the code, it just
shows that the tools are pretty poor. There is no reason not to use tools
that provide a label, and for that matter in whatever language you want. If
you want to make an extension to FOAF, the best thing I can suggest is to
document it well - include rdfs:label and rdfs:comment for everything,
defining the language you use. You can use SKOS properties to provide an
example of use, as well (assuming you are describing something that can be
classified as a concept - otherwise you could always make a suitable example
property, for example as a subProperty of rdfs:comment that has an XML
literal as its range) so you get something like the following definition

<r:Description r:about="#estuve">
  <s:label xml:lang="en">Was at</s:label>
  <s:label xml:lang="fr">était près de</s:label>
  <s:comment xml:lang="en">Describes a place where a Person used to commonly
be. The assumption  is that they do not visit that place so
often, and the this refers to a Person. For example, it could be
used for a city someone used to live in.</s:comment>
  <s:range r:resource="http://www.aktors.org/ontology/portal#Location"/>
  <s:domain r:resource="http://xmlns.com/foaf/0.1/Person"/>
  <t:example r:parseType="Literal">
    <f:Person>
      <!-- other properties here -->
      <my:estuve
r:resource="http://www.w3.org/2001/sw/Europe/200306/geo/france#Nice"/>
    </f:Person>
  </t:example>
</r:Description>

in your own definition. Then you go ahead and use it.

As Reto noted, people often expect to find information about a property or
class at the URI used for its namespace (although that is blessed by the TAG
as a good idea, it isn't part of the namespaces specification, nor the RDF
specification). So the advantage of defining your own namespace is that you
can provide high-quality information so people know how to use your property,
and it is more likely that people will find your documentation and use it. As
well as not annoying the people who think they control what goes in the
original foaf namespace and requiring the implementation of a web of trust as
a precondition for the semantic web being useful.

There are lots of properties around where the usage is not really clear,
since people just copied things from files they found instead of looking at a
nice explanation. This leads to people making up new properties that mean
much the same ting, but with better documentation (foaf:topic is probably an
example of this), in the hope that it will be used in a way that makes it a
more useful property when it exists.

Although the Semantic Web normally doesn't visibly break when you use a term
"wrongly", just as the HTML web mostly seems to work when you use invalid
HTML code, the usefulness of it is restricted and people have to do more work
in error trapping before they can take advantage of some of the possiblities.

This doesn't mean we need a governing body to watch over how we do things,
just that we are collectively responsible for how well our shared web works.
At the moment the most likely thing if you do something that has a
detrimental effect is that people will write you nasty notes. They could also
record information in the semantic web saying that you don't know how to use
it and your data should not be trusted. At some point soon these systems are
likely to be a bit smarter, so more of the effect will be on you and less on
the Web, which will learn how to ignore you...

cheers

Chaals
Received on Saturday, 4 September 2004 21:14:50 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:09 GMT