- From: Sean B. Palmer <sean@mysterylights.com>
- Date: Sat, 8 Dec 2001 13:37:05 -0000
- To: <www-rdf-comments@w3.org>
- Cc: "Tim Berners-Lee" <timbl@w3.org>
Hi, My 2c on the semantics of rdfs:isDefinedBy (cf. [1]), with an idea to improve CWM's content sniffing. It is true that the RDF Schema specification (as is [2]) does not guarantee that the object of an rdfs:isDefinedBy arc will return a serialization of RDF when dereferenced, and it certainly does not guarantee the content type of the representation. Aaron Swartz suggested [3] that two new (sub) properties be defined, rdfs:inSchema and rdfs:specification. However, rdfs:inSchema may still not be enough information for an RDF processor to go on - given that there are already three "rival" serializations of RDF, XML RDF [4], Notation3 [5], and NTriples [6]. Sandro Hawke's Blindfold [7] could add a lot more to the list. From my experience with CWM [8], it is evident that identifying the format of the object of an isDefinedBy arc may be a useful approach to take. As a starting point, the future version of RDF Schema could contain the following classes:- rdfs:RDF a rdfs:Class; rdfs:comment """An RDF document - the class of resources that invariably return a serialization of the Resource Description Framework when dereferenced (with HTTP GET)""" . rdfs:NotRDF a rdfs:Class; rdfs:comment """The class of resources that never return a serialization of RDF [...]"""; daml:disjointWith rdfs:RDF . [rdfs:RDF would be equivalent to the range of rdfs:inSchema.] The next suggestion is to enable people to identify the exact type of the object. The traditional method would be to use dc:format, and a MIME type. However, not one MIME type has yet been registered for RDF, so that is not an option. The alternative is to break free from centralized MIME types, and use URI-views. Tim's SWAP "log:" namespace already contains a URI for Notation3 (the rdfs:comment wording for which is noteworthy):- http://www.w3.org/2000/10/swap/log#N3Document Of course, *every* serialization of RDF should have a URI-view to identify it, not just N3. log:N3Document would become a subClassOf rdfs:RDF. Regarding CWM, it currently "magically" guesses the type of any objects of an rdfs:isDefinedBy arc, which can cause grief, as I found out when I used a namespace with the string "xmlns.com" in it. It should be possible for CWM to use rdf:type as a built-in, although if adding rdf:type as a built-in would be too inefficient, rdfs:cType could be added as a sub property, with a domain of rdfs:RDF. Then, we could state things such as the following:- :myTerm rdfs:isDefinedBy <http://example.org/schema.n3> . <http://example.org/schema.n3> rdfs:cType log:N3Document . Using that information in *preference* to content sniffing. Note that with a combination of the classes noted above, and content type identification, rdfs:inSchema may be wholly unecessary. Using cType on any subject would indicate that it is an RDF document, and if the object is recognizable, then it is possible for the processor to follow the links. [1] http://www.w3.org/2000/03/rdf-tracking/#rdfs-isDefinedBy-semantics [2] http://www.w3.org/TR/2000/CR-rdf-schema-20000327/ [3] http://lists.w3.org/Archives/Public/www-rdf-comments/2001JanMar/0043 [4] http://www.w3.org/TR/REC-rdf-syntax [5] http://www.w3.org/DesignIssues/Notation3 [6] http://www.w3.org/2001/sw/RDFCore/ntriples/ [7] http://www.w3.org/2001/06/blindfold/ [8] http://www.w3.org/2000/10/swap/ -- Kindest Regards, Sean B. Palmer @prefix : <http://webns.net/roughterms/> . :Sean :hasHomepage <http://purl.org/net/sbp/> .
Received on Saturday, 8 December 2001 08:37:52 UTC