W3C home > Mailing lists > Public > semantic-web@w3.org > December 2010

Re: The Two Dogs Problem

From: Denny Vrandecic <denny.vrandecic@kit.edu>
Date: Fri, 17 Dec 2010 11:10:27 +0100
Cc: Dave Reynolds <dave.e.reynolds@gmail.com>, Melvin Carvalho <melvincarvalho@gmail.com>, Semantic Web <semantic-web@w3.org>
Message-Id: <09B9BF63-8719-425B-A91C-9668B6B62125@kit.edu>
To: Martin Hepp <martin.hepp@ebusiness-unibw.org>
And if you want to make make the statement that she owns two dogs, you can use the following statement (OWL 2 Functional Syntax):

ClassAssertion( ObjectCardinality( 2 gr:owns vocab:Dog ) :Alice )

Cheers,
Denny

On Dec 17, 2010, at 10:59, Martin Hepp wrote:

> Hi Melvin,
> my two cents ;-) :
> 
> 1. For owns, there is already a property read for use: http://purl.org/goodrelations/v1#owns
> 
> 2. As Dave indicates, the irritation comes from the difference between "a" in English and in Turtle. In English, it's a quantifier, in Turtle it means "instance of".
> 
> 3. Using DBPedia URIs as classes is problematic, because they usually represent topic instances. But Yago or Cyc will provide nice classes for dogs.
> 
> 3. BNodes and resources identified by a full IRI both leave open whether both dogs are the same, so
> 
>   foo:Fix a  vocab:Dog .
>   foo:Foxy a  vocab:Dog .
>   foo:Alice gr:owns foo:Fix, foo:Foxy .
> 
> does not yet make clear that these are two dogs; it could also just be two names / two identifiers for the same entity.
> 
> For stating that, you would have to use owl:differentFrom :
> 
>   foo:Fix owl:differentFrom foo:Foxy .
> 
> Then you could infer that she owns at least two dogs.
> 
> Best
> Martin
> 
> 
> 
> On 17.12.2010, at 10:30, Dave Reynolds wrote:
> 
>> On Fri, 2010-12-17 at 09:55 +0100, Melvin Carvalho wrote:
>>> Apologies if this has come up before.  I was wondering the best way to
>>> model the following:
>>> 
>>> Alice owns a dog.  We choose to model it as follows.
>>> 
>>> :Alice :owns a dbpedia:dog
>> 
>> That's an RDF statement, maybe you meant:
>> 
>>  :Alice :owns [a dbpedia:dog] .
>> 
>> I.e. there is something, which is a dog and which Alice owns.
>> 
>>> 
>>> All is going well.
>>> 
>>> Then Alice gets given a second dog.
>>> 
>>> If we write:
>>> 
>>> :Alice :owns a dbpedia:dog
>>> :Alice :owns a dbpedia:dog
>> 
>>  :Alice :owns [a dbpedia:dog] .
>>  :Alice :owns [a dbpedia:dog] .
>> 
>> is a reasonable graph, it is not lean since both those bNodes might
>> correspond to the same dog but it is a graph with 4 statements not a
>> graph with two statements.
>> 
>> To convey that those are definitely different dogs then you can add an
>> owl:differentFrom link:
>> 
>>  :Alice owns _:1 .
>>  _:1 a dbpedia:dog .
>>  :Alice owns _:2 .
>>  _:2 a dbpedia:dog .
>>  _:2 owl:differentFrom _:1 .
>> 
>> Dave
>> 
>> 
>> 
> 
> 
Received on Friday, 17 December 2010 10:10:59 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:40 GMT