- From: Hector G. Ceballos <ceballos@itesm.mx>
- Date: Wed, 13 Jul 2011 10:50:12 -0500
- To: "'Uli Sattler'" <sattler@cs.man.ac.uk>
- Cc: <public-owl-dev-request@w3.org>, <Soeren.Kemmann@iese.fraunhofer.de>, <public-owl-dev@w3.org>
- Message-ID: <03a101cc4174$8d29a430$a77cec90$@itesm.mx>
Thank you Uli,
It would be great having a textbook for introducing non-logicians to
ontology engineering. Members of this mailing list constantly (and
repeatedly) answers this kind of doubts, which I deeply appreciate, but the
interest of other area experts would decrease if they don’t get what they
expect when they are trying to codify their common-sense in an ontology.
Thanks again for the references.
Best regards,
Hector G. Ceballos
From: Uli Sattler [mailto:sattler@cs.man.ac.uk]
Sent: Wednesday, July 13, 2011 10:00 AM
To: ceballos@itesm.mx
Cc: public-owl-dev-request@w3.org; Soeren.Kemmann@iese.fraunhofer.de;
public-owl-dev@w3.org
Subject: Re: Using cardinality restrictions
Pascal Hitzler and friends have written one that might help
Foundations of Semantic Web Technologies
Pascal Hitzler, Kno.e.sis Center at Wright State University, Dayton, Ohio,
USA; Markus Krotzsch, University of Oxford, Oxford, UK; Sebastian Rudolph,
University of Karlsruhe, Karlsruhe, Germany
- but I am afraid that you won't really get around the logic bit...other
than that, I don't know of any other textbook style book. Then there is the
DL Handbook (logic, I know), the OWL 2 primer, and general overview papers
of OWL (e.g.,
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.7039
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.7039&rep=rep1&ty
pe=pdf> &rep=rep1&type=pdf )
Cheers, Uli
On 13 Jul 2011, at 15:47, ceballos@itesm.mx wrote:
Is there any didactic book with kind of recipies for questions like this?
And I don't mean a logic one but an OWL one.
Cheers
Hector g Ceballos
Enviado desde mi oficina móvil BlackBerry® de Telcel
_____
From: Uli Sattler <sattler@cs.man.ac.uk>
Sender: public-owl-dev-request@w3.org
Date: Wed, 13 Jul 2011 14:46:13 +0100
To: <Soeren.Kemmann@iese.fraunhofer.de>
Cc: <public-owl-dev@w3.org>
Subject: Re: Using cardinality restrictions
On 13 Jul 2011, at 14:28, <Soeren.Kemmann@iese.fraunhofer.de> wrote:
Hi Uli, hi @all,
Yes, that makes sense!
I was trying to build a small example analog to the famous pizza example.
The difference is that I do not want to assign instances to the partitions
and use them, but I want to just define instances and have the reasoner
interfere to which class they belong to.
I’m sorry … but I couldn’t achieve this yet. This is what I did:
My Class Hierarchy:
Thing
- RefClass
- TestValuePartition == (Part1 union Part2)
- Part1
- Part2
Part1 and Part 2 are marked as disjoint.
Furthermore, I defined that Part 1 has some references to RefClass (hasRef
some Class).
Now, if I create two instances with asserted type TestValuePartition, one
that has a reference to an instance of RefClass and the other having no
instance.
again, be careful, 'the other having no *known* [reference to an] instance
of RefClass.
Due to the value partition I would have expected that instance 1 is
interfered to be of Part1
....and this works (as you say below)
and instance 2 to be of Part2, but again only Part1 works!
same as before: instance 2 may or may not have a hasRef-successor, so we
have not enough information to say whether instance 2 is an instance of
Part1 or of Part2...
Instance 2 stays as being a TestValuePartition instance (only). For me the
Value Partition is in this case not a value partition!?
What am I missing?
I am afraid you are missing the open world assumption (and thus of possible,
but neither necessarily true, nor necessarily false facts - e.g., instance 2
is possibly an instance of Part1, possibly an instance of Part2, thus not
necessarily an instance of either)...check for 'closure axioms'! Cheers, Uli
Thanks a lot!
Cheers,
Sören
From: Uli Sattler [mailto:sattler@cs.man.ac.uk]
Sent: Dienstag, 12. Juli 2011 17:35
To: Kemmann, Soeren
Cc: public-owl-dev@w3.org
Subject: Re: Using cardinality restrictions
On 12 Jul 2011, at 10:27, <Soeren.Kemmann@iese.fraunhofer.de> wrote:
Hi there,
I’m trying to model (with Protégé 3.4.6 with Pellet Reasoner … just in case
it matters) that a class A has two subclasses B and C, where B and C are
disjoint.
The distinction I want to make is that every instance of A is either of
subclass B or of C dependent on the cardinality of a property p.
The “test” is whether the instance has values assigned to property p ( p min
1). This kind of works … the instances are interfered to be of that type.
But the other class does not work. If tried (p max 0), (p exactly 0), (p
exactly 0 RangeClass), but nothing works.
I’m using OWL-DL and as far as I understood 0/1 cardinalities are ok for
OWL-DL, right?
Hi Soeren,
yes, they do - I guess you have, in your ontology, something like
B SubClassOf C
A SubClassOf C %% these two axioms aren't really necessary if you have the
2 below...
A EquivalentClass C and (p min 1)
B EquivalentClass C and (p max 0)
....and then when you have an instance of C with
- 1 known p-successor, they are classified as being an instance of A
- no known p-successor, they are ... only classified as being an instance of
C - and you wonder why...
The reason is found in the word 'known' used above: your instance of C has
no *known* p-successor, but could have some, due to the open world
assumption!
So, how to rescue this? For example, you could say explicitly how many
p-successors an individual has...in general, you need a 'closure' statement
that says that the *known* p-successors are all p-successors.
If I remember correctly, the famous Pizza tutorial explains this in detail
(see http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/ )
Cheers, Uli
Thanks a lot!
Cheers,
Sören
Dipl. Inf. Soeren Kemmann
Fraunhofer IESE
Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany
Tel.: +49 (0) 631 / 6800 - 2218
Fax.: +49 (0) 631 / 6800 - 9 2218
<mailto:soeren.kemmann@iese.fraunhofer.de>
mailto:soeren.kemmann@iese.fraunhofer.de
Received on Saturday, 16 July 2011 20:15:26 UTC