- From: Lee Jonas <ljonas@acm.org>
- Date: Thu, 14 Sep 2000 10:24:19 +0100
- To: <www-rdf-interest@w3.org>
This touched a raw nerve for me. Our current implementation works on the basis of disjunctive semantics for multiple rdfs:domain and ant:range properties (the latter is our own specially recognised CostraintProperty to work around the fact that RDFS states that multiple rdfs:range properties are illegal). >On the net, disjunctive semantics for range/domain can be a >real problem. Lets assume that we know that the domain for >an arc foo is the Class Bar and that a resource baz has the >arc foo. With disjunctive semantics, the domain information >is pretty much useless to us since it does not allow us to >conclude anything. It is definately not useless. It is an essential part of RDF-Schema that makes assertions about RDF model validity. Let's try to get something clear here. Natalya highlighted a very important point through the person / animal / tangibleThing example. [1] http://lists.w3.org/Archives/Public/www-rdf-interest/2000Sep/0142.html The argument seems to be: a) certainty when inferring a resource's type from the predicates it exhibits vs b) being able to define model validity constraints in a far more refined and accurate way. Arguments: * b) is fundamental to RDF-Schema and a) is an adjunct * a resource's type will be given explicitly in alot of cases * In the absence of an explicit type, and more than one rdfs:domain you can always infer that the resource is of type rdfs:Resource. As defining model validity is RDFS's primary purpose, and inferring types is a secondary concern I strongly feel that b) is the way to go. >After all, somewhere out there on the web could be another >domain statement for foo. We could make a CWA and conclude >that baz is an instance of Bar and if we ever find another >domain statement for foo, retract our original conclusion. Indeed. The point about this is that you can never enforce a single domain (or indeed range) constraint on every Property definition with such an open RDF model (where anything can be said about anything) in such an open environment as the Web (where anyone can say anything). From an application perspective, the only thing left to go on is your current frame of reference, or 'viewpoint', you get from the RDF model elements available to you. Your viewpoint may be a single RDF document, it may be a collection of documents, it may even be a DBMS. After all, we as humans cope with this fundamental aspect of life in this way... welcome to the real world! >The place where the single domain/range requirement hurts >is when the range or domain of an arc tends to be >"oddly shaped", i.e., not have a single class corresponding >to it, but is a conjunct or disjunct of mulitple classes >where the conjunct/disjunct does not define a >"natural kind" (as in Quine's use of the term "natural >kind"). Non-natural kinds are a problem all around. I'm not sure what you mean. What is a "natural kind"? In summary: * objectivity about all RDF statements on the entire Web is going to be impossible - subjectivity (relative to a 'frame of reference') is the only recourse, therefore conclude stuff based on your viewpoint. * rdfs:domain is _very_ useful as it currently stands for asserting model validity (albeit based on your current frame of reference). * although rdfs:range could be restricted to at most one per Property definition given a frame of reference, it is far more useful to allow multiple disjunctive semantics here as well for more refined validity assertions. Lee
Received on Thursday, 14 September 2000 05:22:05 UTC