- From: Paul Gearon <gearon@ieee.org>
- Date: Tue, 18 Nov 2008 09:24:19 -0600
- To: Ian Davis <me@iandavis.com>
- Cc: public-lod@w3.org, Semantic Web <semantic-web@w3.org>, dbpedia-discussion@lists.sourceforge.net, dbpedia-announcements@lists.sourceforge.net
- Message-Id: <1F2670E2-0D28-4448-8A0A-3DB2616403F3@ieee.org>
On Nov 18, 2008, at 1:32 AM, Ian Davis wrote: > > On Tue, Nov 18, 2008 at 4:02 AM, Tim Berners-Lee <timbl@w3.org> wrote: > > On 2008-11 -17, at 11:27, John Goodwin wrote: >> [...] >> I'd be tempted to generalise or just remove the domain/range >> restrictions. Any thoughts? > > > There are lots of uses for rand and domain. > > One is in the user interface -- if you for example link a a person > and a document, the system > can prompt you for a relationship which will include "is author of" > and "made" but won't include foaf:knows or is issue of. > > Similarly, when making a friend, one can us autocompletion on labels > which the current session knows about and simplify it by for example > removing all documents from a list of candidate foaf:knows friends. > > Both these use cases require some OWL to say that documents aren't > people. I don't see these scenarios being feasible in the general > case because you'd need a complete description of the world in OWL, > i.e. you'd want to know about everything that can't possibly be a > person. But this is true for OWL in general anyway. If you really need to tighten down your type (a la the RDBMS world) then you do need to describe things as disjoint (either explicitly, or through other mechanisms such as the subclass of a complement). Using OWL still has a lot of utility, but if you absolutely require this level of description, then perhaps a relational database would be more appropriate for the application at hand. (The right tool for the right job, and all that) :-) > > > It is of course also important for checking hand-written files for > validity. > > Again, isn't validity checking something that can only be done with > OWL. RDFS only adds for information. Agreed. The most common example I see of this is people thinking that if I say that ns:name has a domain of ns:Person, then it will be an error to give a ns:name to a ns:Dog. Instead, it just means that Fido becomes both a ns:Person and a ns:Dog (and I'm sure that you, like me, have had to explain why a reasoner has not reported this as an error). This appears to be one of the reasons why many applications choose separate URIs for predicates when applied to different types (e.g. ns:Person/ name and ns:Dog/name), thereby sidestepping many of the issues. While I'm here, I also noticed Tim Finin referring to "domain and range constraints". Personally, I don't see the word "constraint" as an appropriate description, since rdfs:domain and rdfs:range are not constraining in any way. Regards, Paul Gearon
Received on Tuesday, 18 November 2008 15:25:05 UTC