Re: DAML-ONT: RDF syntax

Sergey Melnik wrote:
> 
> (The information provided below reflects the opinion of the Stanford
> DAML team.)
> 
> The DAML-ONT specification posted on daml.org has several deficiences
> with respect to the RDF syntax.
> 
> I made several minor syntactic changes to the specification to ensure
> that available RDF tools (like [1]) can process it correctly. Both the
> new version of the spec and the SED script I used are appended.
> 
> I'd recommend to DAML participants to consider the following syntactic
> issues while working on the "homework" assignments and using DAML-ONT.
> Example:
> 
> Original definition:
> 
>         <Property ID="subClassOf">
>           <equivalentTo
> resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
>         </Property>
> 
>         Deficiencies:
>           - invalid RDF syntax: attributes "ID" and "resource" are not
> qualified and
>             won't be recognized by all RDF parsers.

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.

>           - 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.

How so? Ah... you elaborate below...

In general, if you take a document from one
part of the web and copy its contents to some other
part of the web, you've created another document.
If the resulting document doesn't do what you expect,
it doesn't mean there's something broken/wrong with the original
document.

>           - 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.

> Better definition:
> 
>         <Property rdf:ID="&daml-o;subClassOf">
>           <equivalentTo rdf:resource="&rdfs;subClassOf"/>
>         </Property>
> 
>         This definition requires declaration of corresponding XML entities on
> the top of the document
>         (see appended daml-o.rdf specification).

I prefer not to rely on XML entity declaration syntax.
In relying only on elements and attributes, the
amount of XML knowledge required of DAML users is
limited to the material covered in:

XML Tutorial 1: Well-Formed XML Documents
            by Bonnie SooHoo Aug. 4, 2000 in webreview.com 
http://www.daml.org/2000/10/daml-walkthru

The specification of XML entities, on the other hand,
is a mess. It comes up at least 82 times in the XML 1.0
errata.
http://www.w3.org/XML/xml-19980210-errata

> 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.

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.


> The amended spec is also available as
> http://www-db.stanford.edu/~melnik/daml/daml-o.rdf
> 
> Sergey Melnik & Stanford DAML team
> 
> [1] http://www-db.stanford.edu/~melnik/rdf/api.html


-- 
bind default <http://www.w3.org/People/Connolly/kb>
<mailto:connolly@w3.org> is mailbox of 
  [a Person; called "Dan Connolly";
  affiliation [ a Consortium; called "W3C";
	     homePage <http://www.w3.org> ];
  homePage <http://www.w3.org/People/Connolly/>;
 ]

Received on Tuesday, 24 October 2000 18:45:53 UTC