Re: rdf:value and RDF Schema (was: typed containers in RDF Schema)

At 12:32 PM 6/11/02 -0700, Garret Wilson wrote:
>So my RDF Schema processor gets a canonical RDF Schema for "foo:" (it just
>knows which one to use---we all can accept that step, I think), and the RDF
>Schema says that the rdf:range of dc:creator for foo:Publication is
>foo:Person. I then feed the following RDF instance into the RDF procesor:
>
><foo:Publication>
>   <dc:creator>
>     <rdf:Bag>
>       <rdf:li rdf:resource="urn:x-people:jane-doe/>
>       <rdf:li rdf:resource="urn:x-people:john-smith/>
>     </rdf:Bag>
>   </dc:creator>
></foo:Publication>
>
>If you'll read my previous "typed containers in RDF Schema" posts (which
>assumed RDF Schema to be prescriptive), I had thought that the problem would
>be that the RDF instance above would be invalid---it couldn't see that the
>*members* of the rdf:Bag object of dc:creator contains Persons.
>
>Now, with a *descriptive* RDF Schema, it gets worse---the RDF Schema says
>that, whatever you might think about this RDF instance, the rdf:Bag is
>really of rdf:type Person.

Yes, quite.

I can see that it doesn't serve the function you thought/hoped it did, but 
that's a different issue.  I happen to find the idea useful.  The kind of 
constraining of use that you ask for comes with higher layers such as DAML/OWL.

Alternatively, there's nothing to prevent you from implementing an RDF 
application that validates RDF according to some notion of validity that 
you choose;  e.g. that will tell you if every use of a property does not 
conform to at least one stated RDFS domain and range 
constraint.  Effectively, you are saying that for *your application* to 
process some RDF it has in some sense to be "complete" and "consistent", 
which are not notions that RDF(S) defines -- and rightly so in my view as 
there are many possible such notions.

I see the semantic web proceeding by small steps, and RDF(S) makes a small 
but important step by introducing some common (but limited) notion of 
semantics that applies across all graphs.  More is needed, and lots of 
folks are wrestling with how to do that in a standardized way.  Meanwhile, 
the "more" is being provided by application-specific logic.  The trick, I 
think, is to ensure that these applications do indeed honour the basic 
limited semantics of RDF that are defined, because that is a basis for 
exchanging raw information between applications.

I, too, am working on software that will (among other things) have some 
notion of a form of RDF that is valid or not for some purpose.  It will 
interact with Schema and other elements but will not depend on them for its 
notion of validity.

#g


-------------------
Graham Klyne
<GK@NineByNine.org>

Received on Wednesday, 12 June 2002 05:23:12 UTC