W3C home > Mailing lists > Public > www-rdf-logic@w3.org > October 2000

Re: DAML-ONT: RDF syntax

From: Sergey Melnik <melnik@db.stanford.edu>
Date: Fri, 27 Oct 2000 21:32:46 -0700
Message-ID: <39FA56EE.BC552A5C@db.stanford.edu>
To: Dan Connolly <connolly@w3.org>
CC: www-rdf-logic@w3.org

my concern in pointing out some syntax-related issues was to reduce the
effort needed by the DAML participants to create and use workable
ontologies in short time. Please see it from this point of view. You
wrote down the DAML-O specs in RDF, that's great. But you also have to
consider that other people will need to accomplish similar tasks in
specifying their own ontologies.

Dan Connolly wrote:
> The spec doesn't require ID and resource to be qualified;
> in fact, as written, it doesn't allow them to be qualified:
>   [6.6] idAttr         ::= ' ID="' IDsymbol '"'
>  [6.18] resourceAttr   ::= ' resource="' URI-reference '"'
> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/#grammar
> So it looks to me like the bug is in your tools[1],
> not in the DAML schema.

As Dan Brickley pointed out, the problem with qualified tags and
attributes was correctly summarized by Jonas at

Several RDF parsers that I tried dealt with this issue in different
ways. I included a compatibility fix in [1] that works around the bug in
the spec. I just made the new release available at [1].

> >           - the definition is location-dependent. If the DAML/RDF file is moved
> > to another location
> >             (e.g. stored on a local disk), it will break.
> I don't see any reason to support re-publishing
> this schema at a different address (e.g. saving
> it locally to a file). If you want to use it
> off-line, then set up a cache; i.e. teach
> your software that it can dereference
> http://www.w3.org/2000/01/rdf-schema by
> looking at a file on local disk.

Typically, if you do some serios work with ontologies and instances, you
would store them locally in some form. Remember, we are talking not only
about the DAML-O schema, but also about a number of independently
developed ontologies. Fetching dozens/hundreds of files from various Web
sites for every run of your application is prohibitive. I used the
caching approach you suggest in some of our applications. It is way too
troublesome for casual use.

One cheap workaround for the relocation problem that occurred to me is
the following. One can use [1] to regenerate DAML/RDF documents e.g. as

	java org.w3c.rdf.examples.ParseAndSerialize -xml

The output can be redirected to a local file which uses
location-independent syntax.

> >           - including full resource URIs is time consuming and error-prone.
> Er... this "time consuming and error-prone" job is done.
> I don't see why it matters how it was done.

On the contrary: your part of this job may be done, but other
participants still need to define their ontologies in RDF, and for them
this tip may be useful.

> > When in question, please always use fully-qualified tag names and
> > attributes in your DAML/RDF files. Similarly, try to avoid relative
> > references to locally defined resources. For example,
> >
> >         <complementOf rdf:resource="&daml-o;Thing"/>
> >
> > is superior to
> >
> >         <complementOf resource="#Thing"/>
> I disagree; "#Thing" is syntax that has been common
> to the web community since 1990 or so, and I don't
> see any reason to avoid it.

So let me explain. This syntax was originally defined for HTML anchors.
If you copy a Web page to another location, your browsers can still
properly resolve local references. Unfortunately, this is not the case
with RDF, since in RDF the identity of nodes does matter in all but rare
cases. While local references seem to remain intact, they actually refer
to completely different objects, so most applications that try to access
the copy will break. This is exactly what happens if you make a copy of
DAML-O or other ontology. This issue is related to the preceding posting
by Pat.


P.S.: by coincidence, [1] will correctly process
http://www.daml.org/2000/10/daml-ex although it has no built-in support
for parseType "daml:collection". The parser uses order by reification to
handle lists of XML elements. Look at the output generated by
	java org.w3c.rdf.examples.ParseAndSerialize -triples

The XML serialization of order by reification is, however, different

[1] http://www-db.stanford.edu/~melnik/rdf/api.html
Received on Saturday, 28 October 2000 00:15:47 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:32 UTC