Re: Domain and range are useful Re: DBpedia 3.2 release, including DBpedia Ontology and RDF links to Freebase

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:03 UTC