> > Agree?
>> Yes and no.
> I agree it works the way you do it.
> But I like to do it this way:
> I instantiate "Pizza" (NOT RonaldPizza) and put cheese and tomato on
it.
> I want to ask the reasoner: what is the 'name' of this pizza, and get
the
> answer "RonaldPizza".
How do you put Cheese and Tomato on it? Do you create an instance of
Cheese and an instance of Tomato and then say
pizza hasTopping cheese1
pizza hasTopping tomato1
?
> As long as I don't make explicit that this instantiated Pizza only
> contains cheese and tomato, it will not be recognized as a
RonaldPizza.
>> Agree?
Yes
> Anyone knows a solution?
The only solution I can come up with is using nominals
So I would say
pizza1 rdf:type Pizza
pizza1 rdf:type hasTopping some Cheese and hasTopping some Pizza and
hasTopping only (Cheese or Tomato)
or
{pizza1} subClassOf hasTopping some Cheese and hasTopping some Pizza and
hasTopping only (Cheese or Tomato)
OR
pizza1 rdf:type Pizza
cheese1 rdf:type Cheese
tomato1 rdf:type Tomato
pizza1 hasTopping cheese1
pizza1 hasTopping tomato1
{pizza1} subClassOf hasTopping only (Cheese or Tomato)
Either way I close off the topping allowed for the pizza by making the
class {pizza1} a subclass of hasTopping only (Cheese or Tomato)
John
.
This email is only intended for the person to whom it is addressed and may contain confidential information. If you have received this email in error, please notify the sender and delete this email which must not be copied, distributed or disclosed to any other person.
Unless stated otherwise, the contents of this email are personal to the writer and do not represent the official view of Ordnance Survey. Nor can any contract be formed on Ordnance Survey's behalf via email. We reserve the right to monitor emails and attachments without prior notice.
Thank you for your cooperation.
Ordnance Survey
Romsey Road
Southampton SO16 4GU
Tel: 08456 050505
http://www.ordnancesurvey.co.uk