Can somebody know everything?

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Can somebody know everything?

Stephan Opfer
This post was updated on .
Hi,

I have a question about the expressiveness of OWL2. Is it possible to state that an individual (e.g. peter) can know everything (the individuals of the class Thing): Person(peter) and peter knows "all Individuals of Thing"?

In SWRL it would be: Thing(?x) -> knows(peter, ?x)

But I am not sure, if it is possible to use peter in such a way in a SWRL rule.

Best Regards,
  Stephan
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Timothy Redmond

Yes I think that this can be said:

Class: Thing

     SubClassOf:
          inverse (knows) value peter


-Timothy


On 05/18/2012 04:31 AM, Stephan Opfer wrote:

> Hi,
>
> I have a question about the expressiveness of OWL2. Is it possible to state
> that an individual (e.g. peter) can know everything (the individuals of the
> class Thing): Person(peter) and peter knows "all Individuals of Thing"?
>
> In SWRL it would be: Thing(?x) ->  knows(peter, ?x)
>
> But I am not sure, if it is possible to use peter in such a way in an SWRL
> rule.
>
> Best Regards,
>    Stephan
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Stephan Opfer
Ah, good point. I always forget about this inverse () operator.

Thank you!
  Stephan

On 05/18/2012 02:43 PM, Timothy Redmond wrote:

>
> Yes I think that this can be said:
>
> Class: Thing
>
>     SubClassOf:
>          inverse (knows) value peter
>
>
> -Timothy
>
>
> On 05/18/2012 04:31 AM, Stephan Opfer wrote:
>> Hi,
>>
>> I have a question about the expressiveness of OWL2. Is it possible to
>> state
>> that an individual (e.g. peter) can know everything (the individuals
>> of the
>> class Thing): Person(peter) and peter knows "all Individuals of Thing"?
>>
>> In SWRL it would be: Thing(?x) ->  knows(peter, ?x)
>>
>> But I am not sure, if it is possible to use peter in such a way in an
>> SWRL
>> rule.
>>
>> Best Regards,
>>    Stephan
>>
>> --
>> View this message in context:
>> http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375.html
>>
>> Sent from the Protege OWL mailing list archive at Nabble.com.
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing:
>> http://protege.stanford.edu/doc/faq.html#01a.03
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing:
> http://protege.stanford.edu/doc/faq.html#01a.03
>

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Daniel Isemann
In reply to this post by Stephan Opfer
Hi Stephan,

if inverse properties are ok in your ontology it would appear that the following does the trick:

Declaration(Class(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Someclass>))
EquivalentClasses(owl:Thing ObjectHasValue(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Peter>))
Declaration(ObjectProperty(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy>))
InverseObjectProperties(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>)
Declaration(ObjectProperty(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>))
InverseObjectProperties(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>)
Declaration(NamedIndividual(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Peter>))
Declaration(NamedIndividual(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#SomeObscureThing>))
ClassAssertion(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Someclass> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#SomeObscureThing>))

Peter knows the "obscure thing" by virtue of knowing everything.

Is that what you meant?

Daniel
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Olivier Dameron
Good point, OWL2 specification should definitely have a special
individual "Chuck_Norris" who knows everything :-)

olivier
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Stephan Opfer
In reply to this post by Daniel Isemann
Looks quit similar to the one, timothy suggested.

Thx,
  Stephan

On 05/18/2012 08:48 PM, Daniel Isemann wrote:

> Hi Stephan,
>
> if inverse properties are ok in your ontology it would appear that the
> following does the trick:
>
> Declaration(Class(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Someclass>))
> EquivalentClasses(owl:Thing
> ObjectHasValue(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy>
> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Peter>))
> Declaration(ObjectProperty(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy>))
> InverseObjectProperties(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy>
> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>)
> Declaration(ObjectProperty(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>))
> InverseObjectProperties(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#isKnownBy>
> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#knows>)
> Declaration(NamedIndividual(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Peter>))
> Declaration(NamedIndividual(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#SomeObscureThing>))
> ClassAssertion(<http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#Someclass>
> <http://www.semanticweb.org/ontologies/2012/4/Ontology1337342410657.owl#SomeObscureThing>))
>
> Peter knows the "obscure thing" by virtue of knowing everything.
>
> Is that what you meant?
>
> Daniel
>
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375p4644927.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Daniel Isemann
In reply to this post by Stephan Opfer
Yeah sorry, I got interrupted half-way through replying and didn't check the thread later on. It's exactly what Timothy said.
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Stephan Opfer
Is it possible to replace the individual peter with an anonymous
individual?

In natural language: There is one Person, that knows every Thing.

In (in)formal DL: Thing isSubClassOf inverse(knows) [x and x
isInstanceOf Person]

In first order logic: Exists X Forall Y (Person(X) & Knows(X,Y) )

Best Regards,
  Stephan

On 05/21/2012 12:46 PM, Daniel Isemann wrote:

> Yeah sorry, I got interrupted half-way through replying and didn't check the
> thread later on. It's exactly what Timothy said.
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375p4647958.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Timothy Redmond

Yes you can.  The simplest way is to just do what you said - replace the
individual peter with an anonymous individual.  Unfortunately Protege
does not support anonymous individuals very well so you won't be able to
state this in Protege.  (But Protege would load and reason about such an
ontology without problems.)

There may be another way to state this but I would have to think about it.

-Timothy


On 05/30/2012 09:10 AM, Stephan Opfer wrote:

> Is it possible to replace the individual peter with an anonymous
> individual?
>
> In natural language: There is one Person, that knows every Thing.
>
> In (in)formal DL: Thing isSubClassOf inverse(knows) [x and x
> isInstanceOf Person]
>
> In first order logic: Exists X Forall Y (Person(X)&  Knows(X,Y) )
>
> Best Regards,
>    Stephan
>
> On 05/21/2012 12:46 PM, Daniel Isemann wrote:
>> Yeah sorry, I got interrupted half-way through replying and didn't check the
>> thread later on. It's exactly what Timothy said.
>>
>> --
>> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375p4647958.html
>> Sent from the Protege OWL mailing list archive at Nabble.com.
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Thomas Schneider-2
In reply to this post by Stephan Opfer
Hmmm ... the following might work if "one Person" means "at least one Person":

(1) Introduce the class "Omnipotent" of people who know everything, and use a "bootstrap" property to say that this class has instances:

    Thing subClassOf bootstrap some Omnipotent

(2) Introduce an object property "isOmnipotent" and use the Self construct to say that every instance of "Omnipotent" has an "isOmnipotent" edge to itself:

    Omnipotent subClassOf isOmnipotent some Self

(3) Then say that the chain of "isOmnipotent" and the universal object property implies "knows":

    isOmnipotent o topObjectProperty subPropertyOf knows

The last axiom enforces a "knows"-edge from x to z whenever there is some y such that x is linked to y via "isOmnipotent" and y is linked to z via the universal object property. The latter condition holds for all pairs (y,z) and the former at least for all x=y that are instances of "Omnipotent". Hence, you get a "knows"-edge from all instances of "Omnipotent" to everything. Since "Omnipotent" is enforced to be nonempty, there has to be someone who knows everything. (Since "isOmnipotent" is allowed to have more edges than the enforce Self-edges, "knows" is allowed to connect more individuals than the Omnipotent with the rest. But that's fine because your requirement doesn't say that all other people know nothing.)

If you mean "exactly one Person who knows everything", I don't see how you can avoid the use of individuals and, frankly, I don't see any advantage of using an unnamed individual compared to a named one. If you want to get tools to let you express it, you'll have to go through more trouble as Timothy pointed out, and semantically there shouldn't be a difference -- so you don't get different results in terms of reasoning results or time.

Cheers

Thomas

On 30.05.2012, at 18:10, Stephan Opfer wrote:

> Is it possible to replace the individual peter with an anonymous
> individual?
>
> In natural language: There is one Person, that knows every Thing.
>
> In (in)formal DL: Thing isSubClassOf inverse(knows) [x and x
> isInstanceOf Person]
>
> In first order logic: Exists X Forall Y (Person(X) & Knows(X,Y) )
>
> Best Regards,
>  Stephan
>
> On 05/21/2012 12:46 PM, Daniel Isemann wrote:
>> Yeah sorry, I got interrupted half-way through replying and didn't check the
>> thread later on. It's exactly what Timothy said.
>>
>> --
>> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375p4647958.html
>> Sent from the Protege OWL mailing list archive at Nabble.com.
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>>
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
----------------------------------------------------------------------
Dr. Thomas Schneider
Universität Bremen, FB 03
Postfach 330440
28334 Bremen
Germany
+49 421 218-64432
http://www.informatik.uni-bremen.de/~ts/
For visits: Cartesium, Room 2.56
----------------------------------------------------------------------

Ibstock (n.)
Anything used to make a noise on a corrugated iron wall or clinker-built fence by dragging it along the surface while walking past it. 'Mr Bennett thoughtfully selected a stout ibstock and left the house.' -- Jane Austen, Pride and Prejudice, II.

Douglas Adams, John Lloyd: The Deeper Meaning of Liff


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

omnipotent.owl (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Stephan Opfer
Oh, your suggestion sounds nice!

The advantage of an anonymous individual is the possibility to make the
named individuals distinct easily, without making the anonymous
individuals distinct. E.g., if you don't know which Person is knowing
everything, you should avoid to made it distinct from peter, because he
could be the one.

On 05/30/2012 09:56 PM, Thomas Schneider wrote:

> Hmmm ... the following might work if "one Person" means "at least one Person":
>
> (1) Introduce the class "Omnipotent" of people who know everything, and use a "bootstrap" property to say that this class has instances:
>
>     Thing subClassOf bootstrap some Omnipotent
>
> (2) Introduce an object property "isOmnipotent" and use the Self construct to say that every instance of "Omnipotent" has an "isOmnipotent" edge to itself:
>
>     Omnipotent subClassOf isOmnipotent some Self
>
> (3) Then say that the chain of "isOmnipotent" and the universal object property implies "knows":
>
>     isOmnipotent o topObjectProperty subPropertyOf knows
>
> The last axiom enforces a "knows"-edge from x to z whenever there is some y such that x is linked to y via "isOmnipotent" and y is linked to z via the universal object property. The latter condition holds for all pairs (y,z) and the former at least for all x=y that are instances of "Omnipotent". Hence, you get a "knows"-edge from all instances of "Omnipotent" to everything. Since "Omnipotent" is enforced to be nonempty, there has to be someone who knows everything. (Since "isOmnipotent" is allowed to have more edges than the enforce Self-edges, "knows" is allowed to connect more individuals than the Omnipotent with the rest. But that's fine because your requirement doesn't say that all other people know nothing.)
>
> If you mean "exactly one Person who knows everything", I don't see how you can avoid the use of individuals and, frankly, I don't see any advantage of using an unnamed individual compared to a named one. If you want to get tools to let you express it, you'll have to go through more trouble as Timothy pointed out, and semantically there shouldn't be a difference -- so you don't get different results in terms of reasoning results or time.
>
> Cheers
>
> Thomas
>
> On 30.05.2012, at 18:10, Stephan Opfer wrote:
>
>> Is it possible to replace the individual peter with an anonymous
>> individual?
>>
>> In natural language: There is one Person, that knows every Thing.
>>
>> In (in)formal DL: Thing isSubClassOf inverse(knows) [x and x
>> isInstanceOf Person]
>>
>> In first order logic: Exists X Forall Y (Person(X) & Knows(X,Y) )
>>
>> Best Regards,
>>  Stephan
>>
>> On 05/21/2012 12:46 PM, Daniel Isemann wrote:
>>> Yeah sorry, I got interrupted half-way through replying and didn't check the
>>> thread later on. It's exactly what Timothy said.
>>>
>>> --
>>> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Can-somebody-know-everything-tp4644375p4647958.html
>>> Sent from the Protege OWL mailing list archive at Nabble.com.
>>> _______________________________________________
>>> protege-owl mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>>
>>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>>>
>>
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>
> ----------------------------------------------------------------------
> Dr. Thomas Schneider
> Universität Bremen, FB 03
> Postfach 330440
> 28334 Bremen
> Germany
> +49 421 218-64432
> http://www.informatik.uni-bremen.de/~ts/
> For visits: Cartesium, Room 2.56
> ----------------------------------------------------------------------
>
> Ibstock (n.)
> Anything used to make a noise on a corrugated iron wall or clinker-built fence by dragging it along the surface while walking past it. 'Mr Bennett thoughtfully selected a stout ibstock and left the house.' -- Jane Austen, Pride and Prejudice, II.
>
> Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>
>
>
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Joshua TAYLOR
In reply to this post by Thomas Schneider-2
2012/5/30 Thomas Schneider <[hidden email]>:
> Hmmm ... the following might work if "one Person" means "at least one Person":
>
> (1) Introduce the class "Omnipotent" of people who know everything, and use a "bootstrap" property to say that this class has instances:
>
>    Thing subClassOf bootstrap some Omnipotent

I like this approach.  In thinking about this problem, I started
thinking about how one might express skolem functions in OWL, and this
is in line with this.  While I knew that first-order logic typically
assumes existential import (i.e.,  a non-empty domain), I had to check
this for OWL.  In case anyone wants the reference, it's guaranteed in
the definition of interpretations for OWL [1].

> (2) Introduce an object property "isOmnipotent" and use the Self construct to say that every instance of "Omnipotent" has an "isOmnipotent" edge to itself:
>
>    Omnipotent subClassOf isOmnipotent some Self

Just as an interesting (in my opinion) note, this has a taste of
category theory, wherein for every object A there is an identity arrow
id_A from A to A that can, in certain circumstances, be equated with
the object A itself.

> (3) Then say that the chain of "isOmnipotent" and the universal object property implies "knows":
>
>    isOmnipotent o topObjectProperty subPropertyOf knows

This has a sort of category theory feel to it as well.  Since
isOmnipotent is a sort of identity arrow, and topObjectProperty is
like a universal quantification (when given a subject) over a objects,
it's (and this is just restating the intent, of course) asserting that
every Omnipotent [Omniscient, really ;)] (Ax \in Omnipotent)(Ay \in
Thing) knows(x,y).

This is a neat solution.  Thanks for sharing!

//JT

[1] http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/#Interpretations
--
Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Joshua TAYLOR
In reply to this post by Stephan Opfer
On Wed, May 30, 2012 at 4:37 PM, Stephan Opfer <[hidden email]> wrote:
> The advantage of an anonymous individual is the possibility to make the
> named individuals distinct easily, without making the anonymous
> individuals distinct. E.g., if you don't know which Person is knowing
> everything, you should avoid to made it distinct from peter, because he
> could be the one.

Since OWL doesn't make the unique name assumption, though, you can use
an individual name as a skolem constant.  I.e., you can say that

Person equivalent to { Peter, Paul, Mary }
OmniscientPerson a Person
Thing subClassOf inverse(knows) value OmniscientPerson

There's nothing here that says the OmniscientPerson is distinct from
Peter, Paul, or Mary (or even that Peter, Paul, and Mary are
distinct), yet it does ensure that the OmniscientPerson is one of
Peter, Paul, and Mary.  Is this a simpler solution to your challenge?
It certainly has the advantage of letting you talk about
OmniscientPerson more conveniently.

//JT
--
Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Stephan Opfer
On 05/30/2012 10:43 PM, Joshua TAYLOR wrote:

> Since OWL doesn't make the unique name assumption, though, you can use
> an individual name as a skolem constant.  I.e., you can say that
>
> Person equivalent to { Peter, Paul, Mary }
> OmniscientPerson a Person
> Thing subClassOf inverse(knows) value OmniscientPerson
>
> There's nothing here that says the OmniscientPerson is distinct from
> Peter, Paul, or Mary (or even that Peter, Paul, and Mary are
> distinct), yet it does ensure that the OmniscientPerson is one of
> Peter, Paul, and Mary.  Is this a simpler solution to your challenge?
> It certainly has the advantage of letting you talk about
> OmniscientPerson more conveniently.

My setup is to parse several named individuals of a class (lets call it
Person). Afterwards, there are some conditions (represented by
first-order formulas), which contains variables. I would like to encode
this condition formulas in OWL DL, e.g., "Exists X Person(X) and Forall
Y knows (X,Y)". I think it could workout, to be a good idea, to map
existential quantified variables to an anonymous variable and to map
universal quantified variables to the class Thing.

But I am not sure, which kind of first-order logic formulas are possible
to represent in OWL-DL, especially about the quantifiers. At the moment
I made up the following constructs:

I have a named individual "myWorld" of class "PossibleWorld" and a
object property "contains". The following simple formulas could by
represented as follows:
- Exists X P(X) => myWorld contains some P
- Exists X R(X,Ind) => myWorld contains some (R hasValue Ind)
- Exists X R(Ind,X) => myWorld contains some (R^-1 hasValue Ind)
- Exists X [P(X) & R(X,Ind)] => myWorld contains some (P and R hasValue Ind)

- Forall X P(X) => Thing isSubClassOf P
- Forall X R(X,Ind) => Thing isSubClassOf (R hasValue Ind)
- Forall X R(Ind,X) => Thing isSubClassOf (R^-1 hasValue Ind)

I think, the thing, which would help best is a grammer of first-order
logic formulas representable in OWL-DL.

Best Regards,
  Stephan
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Joshua TAYLOR
On Thu, May 31, 2012 at 4:20 AM, Stephan Opfer <[hidden email]> wrote:

> On 05/30/2012 10:43 PM, Joshua TAYLOR wrote:
>> Since OWL doesn't make the unique name assumption, though, you can use
>> an individual name as a skolem constant.  I.e., you can say that
>>
>> Person equivalent to { Peter, Paul, Mary }
>> OmniscientPerson a Person
>> Thing subClassOf inverse(knows) value OmniscientPerson
>>
>> There's nothing here that says the OmniscientPerson is distinct from
>> Peter, Paul, or Mary (or even that Peter, Paul, and Mary are
>> distinct), yet it does ensure that the OmniscientPerson is one of
>> Peter, Paul, and Mary.  Is this a simpler solution to your challenge?
>> It certainly has the advantage of letting you talk about
>> OmniscientPerson more conveniently.
>
> My setup is to parse several named individuals of a class (lets call it
> Person). Afterwards, there are some conditions (represented by
> first-order formulas), which contains variables. I would like to encode
> this condition formulas in OWL DL, e.g., "Exists X Person(X) and Forall
> Y knows (X,Y)". I think it could workout, to be a good idea, to map
> existential quantified variables to an anonymous variable and to map
> universal quantified variables to the class Thing.

That sounds very reasonable.  I'd still suggest that don't rule out
the possibility of using new individuals for the purpose of
existentially quantified variables, though.  It's typical for first
order theorem provers to introduce skolem constants (and skolem
function terms), and it may well make your translations a bit more
readable.  I don't think you gain any expressive power though, so it's
not a huge concern.

> But I am not sure, which kind of first-order logic formulas are possible
> to represent in OWL-DL, especially about the quantifiers. At the moment
> I made up the following constructs:

There's a standard translation of Description Logic formulae into
first-order logic (and it's pretty straightforward).  That might be a
good place to start, though of course if you use that as the basis for
what first-order formulae you can write, you're essentially writing DL
expressions in FOL.

> I have a named individual "myWorld" of class "PossibleWorld" and a
> object property "contains". The following simple formulas could by
> represented as follows:
> - Exists X P(X) => myWorld contains some P

This is the scenario this thread was based on, except that we
eventually reached a solution (from Thomas Schneider) that didn't even
require introducing the myWorld individual.

> - Exists X R(X,Ind) => myWorld contains some (R hasValue Ind)
> - Exists X R(Ind,X) => myWorld contains some (R^-1 hasValue Ind)
> - Exists X [P(X) & R(X,Ind)] => myWorld contains some (P and R hasValue Ind)
>
> - Forall X P(X) => Thing isSubClassOf P
> - Forall X R(X,Ind) => Thing isSubClassOf (R hasValue Ind)
> - Forall X R(Ind,X) => Thing isSubClassOf (R^-1 hasValue Ind)
>
> I think, the thing, which would help best is a grammer of first-order
> logic formulas representable in OWL-DL.

This may be a bit difficult, but it would probably be a good start to
look at the standard translation from DL syntax to FOL.  From that you
should be able to generate a grammar of FOL formulae that can be
represented in OWL, but it won't generate all such formulae.   Every
FOL formula that can be represented in OWL will be /equivalent/ to
some formula generated by the grammar though.  Page 4 of this
presentation [1] is a good start.

//JT

[1] http://ssdi.di.fct.unl.pt/rsw/classes/assets/P05.pdf
--
Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Thomas Schneider-2

On 31.05.2012, at 15:41, Joshua TAYLOR wrote:
[...]
> Page 4 of this presentation [1] is a good start.
>
> //JT
>
> [1] http://ssdi.di.fct.unl.pt/rsw/classes/assets/P05.pdf

Indeed! In addition, you might want to consult the Description Logic Handbook [2], which also has a section on relating DLs with other logics, and of course the "irresistible SROIQ" paper [3], which describes the logic that underlies OWL. If you need the precise syntax and semantics of every OWL construct (plus the global restrictions that avoid some nasty combinations of constructs that would lead into undecidability), you can also consult the OWL 2 specification [4], which is quite technical, but complete. There are separate syntax and semantics documents. The "Direct Semantics" connects OWL with FOL.

Cheers

Thomas

[2] Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider (ed.): The Description Logic Handbook, CUP 2003.

[3] Ian Horrocks, Oliver Kutz, and Uli Sattler. The Even More Irresistible SROIQ. In Proc. KR, 2006. Technical report: http://www.cs.man.ac.uk/~sattler/publications/sroiq-TR.pdf

[4] OWL 2 Web Ontology Language, Document Overview, W3C Recommendation 27 October 2009. http://www.w3.org/TR/owl2-overview/

----------------------------------------------------------------------
Dr. Thomas Schneider
Universität Bremen, FB 03
Postfach 330440
28334 Bremen
Germany
+49 421 218-64432
http://www.informatik.uni-bremen.de/~ts/
For visits: Cartesium, Room 2.56
----------------------------------------------------------------------

Ibstock (n.)
Anything used to make a noise on a corrugated iron wall or clinker-built fence by dragging it along the surface while walking past it. 'Mr Bennett thoughtfully selected a stout ibstock and left the house.' -- Jane Austen, Pride and Prejudice, II.

Douglas Adams, John Lloyd: The Deeper Meaning of Liff

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Can somebody know everything?

Thomas Schneider-2
Oops, I just saw Stephan's other post at the public-olw-dev mailing list -- didn't know you were aware of [3] and [4]. ;-)

Thomas

On 01.06.2012, at 09:48, Thomas Schneider wrote:

>
> On 31.05.2012, at 15:41, Joshua TAYLOR wrote:
> [...]
>> Page 4 of this presentation [1] is a good start.
>>
>> //JT
>>
>> [1] http://ssdi.di.fct.unl.pt/rsw/classes/assets/P05.pdf
>
> Indeed! In addition, you might want to consult the Description Logic Handbook [2], which also has a section on relating DLs with other logics, and of course the "irresistible SROIQ" paper [3], which describes the logic that underlies OWL. If you need the precise syntax and semantics of every OWL construct (plus the global restrictions that avoid some nasty combinations of constructs that would lead into undecidability), you can also consult the OWL 2 specification [4], which is quite technical, but complete. There are separate syntax and semantics documents. The "Direct Semantics" connects OWL with FOL.
>
> Cheers
>
> Thomas
>
> [2] Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider (ed.): The Description Logic Handbook, CUP 2003.
>
> [3] Ian Horrocks, Oliver Kutz, and Uli Sattler. The Even More Irresistible SROIQ. In Proc. KR, 2006. Technical report: http://www.cs.man.ac.uk/~sattler/publications/sroiq-TR.pdf
>
> [4] OWL 2 Web Ontology Language, Document Overview, W3C Recommendation 27 October 2009. http://www.w3.org/TR/owl2-overview/
>
> ----------------------------------------------------------------------
> Dr. Thomas Schneider
> Universität Bremen, FB 03
> Postfach 330440
> 28334 Bremen
> Germany
> +49 421 218-64432
> http://www.informatik.uni-bremen.de/~ts/
> For visits: Cartesium, Room 2.56
> ----------------------------------------------------------------------
>
> Ibstock (n.)
> Anything used to make a noise on a corrugated iron wall or clinker-built fence by dragging it along the surface while walking past it. 'Mr Bennett thoughtfully selected a stout ibstock and left the house.' -- Jane Austen, Pride and Prejudice, II.
>
> Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>

----------------------------------------------------------------------
Dr. Thomas Schneider
Universität Bremen, FB 03
Postfach 330440
28334 Bremen
Germany
+49 421 218-64432
http://www.informatik.uni-bremen.de/~ts/
For visits: Cartesium, Room 2.56
----------------------------------------------------------------------

Ibstock (n.)
Anything used to make a noise on a corrugated iron wall or clinker-built fence by dragging it along the surface while walking past it. 'Mr Bennett thoughtfully selected a stout ibstock and left the house.' -- Jane Austen, Pride and Prejudice, II.

Douglas Adams, John Lloyd: The Deeper Meaning of Liff

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03