schema comments

Dan asked me to post this (originally sent off-list) to the list:


Dan--

Here are some comments on "RDF Vocabulary Description Language 1.0: RDF 
Schema" http://www.w3.org/2001/sw/RDFCore/Schema/200203/

Under Status:  "The Working Group specifically solicit feedback from 
reviewers regarding the title of this specification. During CR review 
and subsequently, many commentators expressed concern about the 
relationship between RDF Schema and XML Schema." The relationship 
between RDF Schema and XML Schema may need to be clarified;  but I hope 
that's not because both use the term "schema".  "RDF Schema" is fine! 
Keep in mind that the Web community is not the only relevant community 
here.  The database community in particular is quite used to the idea of 
a "schema" as precisely the sort of thing being described here (and was 
using the terminology first).  Both RDF and XML schemas are variants of 
this same theme.  We can't possibly invent new terms each time we find 
some kind of terminology clash (or similarity) when different 
communities come together.  We're supposed to be supporting the Semantic 
Web, for heaven's sake!  If people can't figure out how to distinguish 
"RDF Schema", "XML Schema", and "database schema", they're in the wrong 
business.

"The RDF Schema class and property system is similar to the type systems 
of object-oriented programming languages such as Java. However, RDF 
differs from many such systems in that instead of defining a class in 
terms of the properties its instances may have, an RDF schema will 
define properties in terms of the classes of resource to which they 
apply. This is the role of the rdfs:domain and rdfs:range mechanisms 
described in this document. For example, we could define the author 
property to have a domain of Book and a range of Literal, whereas a 
classical OO system might typically define a class Book with an 
attribute called author of type Literal."
This doesn't really clarify what the difference between these two 
approaches really is (I tried to do this in the Primer, but it, or an 
amplification, belongs here).

"This specification does not attempt to enumerate all the possible forms 
of vocabulary description that are useful for representing the meaning 
of classes and properties in RDF data..."  This and the following 
paragraph are awfully "lofty" sounding.  What exactly do they mean?  In 
particular, what is the "common practice" that is being "established", 
and does RDF Schema have any special status in establishing that practice?

Under the RDF Classes table:  rdfs:Container is introduced, but then 
Bag, Seq, and Alt are referred to as "collections".  If Bag, etc. are 
types of Container, this should be stated explicitly.

The descriptions of rdfs:Literal, rdfs:Class, and rdfs:Property should 
explicitly identify them as being classes.

Under rdfs:subClassOf:  this says the property is "transitive".  The 
meaning of "transitive" should be defined.

Under rdfs:range and rdfs:domain:  These descriptions still don't say 
anything about the effect of specifying multiple domain and range 
properties.  The WG has made a decision on this, and it needs to be in 
the Schema spec.  A note could explain any misgivings anyone might have 
about this.

Under "RDF Container Classes and Properties":  in each case, the classes 
are described as "representing" things;  e.g., "rdf:Bag class represents 
RDF's 'Bag" container construct".  It's not really very clear what this 
means.  (What actually happens, at least according to the Primer, is 
that a resource is defined as being a Bag container by having a type 
property whose value is rdf:Bag;  it's not clear this is the same thing).

Under rdfs:member:  explicitly say what a "super-property" is.

The description of rdf:value should explicitly identify it as being a 
property.

The descriptions rdf:subject, rdf:predicate, and rdf:object should 
explicitly identify them as being properties right away, e.g., something 
like "rdf:subject   A property that defines the subject of an RDF 
statement."

Regarding the Extensibility Mechanisms, speaking as a Primer Editor, I 
don't see this material going into the Primer if it *isn't* going to be 
in the Schema spec (and maybe not even then!).

"The phrase 'RDF vocabulary' is used here to refer to those resources 
which evolve over time"  Huh?  Lots of resources evolve over time.  "RDF 
vocabulary" doesn't refer to all of them.  (To add the confusion here, 
schemas evolve over time too).

  "The resources defined in RDF schemas are themselves Web resources, 
and can be described in other RDF schemas."  This should be more 
explicit about what "the resources defined in RDF schemas" are 
(specifically, they are user-defined classes and properties, right?)

--Frank



-- 
Frank Manola                   The MITRE Corporation
202 Burlington Road, MS A345   Bedford, MA 01730-1420
mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-875

Received on Friday, 26 April 2002 07:05:02 UTC