ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Grover Models

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "doug foxvog" <doug@xxxxxxxxxx>
Date: Fri, 31 May 2013 00:19:59 -0400
Message-id: <7aed836f2ce42aebdebd0ef2c0c346cf.squirrel@xxxxxxxxxxxxxxxxx>
On Tue, May 28, 2013 19:05, John McClure wrote:
> Hi Doug -    (01)

Hi John,    (02)

>...
> <Sister:Person:X> is meant to be the name of a resource about
> Person:X's role as a Sister.    (03)

Hmmm.  I take a role to be a situation.  However, since this role
does not specify the other party/parties, the situation specified
appears to be "being a sister to someone", which may last from
when the female person has a living sibling until that female person
no longer has a living sibling.  There may be multiple siblings for
this single role.    (04)

> The 'for' predicate identifies who the resource is
> 'for' -- it might be better said 'about'. Would that be clearer?
> So it would be <Sister:Person:X> about <Person:X>,
> a triple which *not incidentally* can
> be derived from the name of the resource.    (05)

I'd suggest using different glyphs between the role and the class
than between the class and the class instance.  Using the same
symbol for two very different meanings is confusing for me.    (06)

> Also, I started a comparative listing of the triples, attached (which I
> stopped when I hit PersonZ in your markup). Thanks so very much for your
> efforts to cast my notation into CycL. Another way to have framed the
> original question was, is there a CycL encoding for the following set of
> facts (that is, ignoring the Grover markup altogether)? I'd like to
> re-draft the listing with your answer in hand, if possible!
>
> **Facts**
> PersonX is a female who once had a sister, PersonY, another female    (07)

(and
    (isa PersonX FemaleHuman)
    (isa PersonY FemaleHuman)
    (thereExists ?T
       (and
          (isa ?T ContinuousTimeInterval)
          (endsBefore ?T Now-Indexical)
          (holdsIn ?T
             (sisters PersonX PersonY)))))    (08)

> PersonY was adopted (by the parents of PersonX) in 1953, and died in 1960.    (09)

I am assuming that you mean "biological parents" here, which allows
me to use the functions #$MotherFn and #$FatherFn to specify the
parents.  If they aren't necessarily biological, i'd reify them and use the
more general relations, #$mother and #$father, to relate them to
PersonX.    (010)

(and
  (thereExists ?ADOPTIONofY
     (and
         (isa ?ADOPTIONofY Adoption)
         (dateOfEvent ?ADOPTIONofY (YearFn 1953))
         (objectOfStatusChange ?ADOPTIONofY PersonY)
         (performedBy ?ADOPTIONofY (MotherFn PersonX))
         (performedBy ?ADOPTIONofY (FatherFn PersonX))))
  (dateOfDeath PersonY (YearFn 1960))    (011)

FWIW, this reifies the adoption, so it would be better to pick
one's own name for it, e.g., AdoptionOfY.    (012)

Note that:
 (comment #$mother "An instance of #$FamilyRelationSlot and a
specialization of #$coreRelatives. (#$mother CHILD MOTHER) means that
MOTHER is a female animal (there might be more than one) that fills the
role of mother for CHILD. In the case of humans, MOTHER might be CHILD's
biological mother, adoptive mother, stepmother, or foster mother. But
note that being a person's #$biologicalMother (q.v.) is neither necessary
nor sufficient for being his/her mother in the present sense. In the case
of nonhuman animals (see #$NonPersonAnimal), however, mother holds
between two given creatures if and only if #$biologicalMother does.")    (013)

> **Requirements**
> *satisfy "has sister" vs "plays sister role" kind of queries
    (sisters PersonX ?SISTER)  vs. (sisters ?SIBLING PersonX)
> *satisfy "current sisters" vs "past sisters" kinds of queries
     (holdsIn Now-Indexical (sisters PersonX ?SISTER))
     vs.
     (and
       (thereExists ?T
         (and
           (isa ?T ContinuousTimeInterval)
           (endsBefore ?T Now-Indexical)
           (holdsIn ?T
              (sisters PersonX ?SISTER))))
       (not
         (holdsIn Now-Indexical
           (sisters PersonX ?SISTER))))
> *satisfy "natural sisters" vs "legal sisters" kinds of queries    (014)

I was suprised to find that OpenCyc does not have such predicates.
It has a generic #$sisters predicate, and more specialized ones:
#$stepSisters and #$halfSisters.  I'd suggest adding the predicates
(which certainly can be done).  However, the query can be made by
asking if they both have the same #$biologicalMother and
#$biologicalFather.    (015)

-- doug foxog    (016)

> Maybe the same challenge can be directed towards other ontologies
> purporting
> to be able to model roles, time and symmetric relations like these?
> Thanks again,
> John    (017)


>>-----Original Message-----
>>From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
>>[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx]On Behalf Of doug foxvog
>>Sent: Thursday, May 23, 2013 11:58 AM
>>To: [ontolog-forum]
>>Subject: Re: [ontolog-forum] Grover Models
>>
>>
>>On Wed, May 22, 2013 17:53, John McClure wrote:
>>> Hi Doug, what is PersonZ all about? thanks
>>
>>I was trying to make sense of this confusing notation.  It appeared
>>to imply a blank node, so i arbitrarily gave the blank node a name.
>>
>>Note that i followed my CycL with a question mark.
>>
>>I interpreted
>>>>> [[Sister:Person:X]] for [[Person:X]]
>>as possibly being intended to mean that
>>    there exists a sister for X and X is a person.
>>It might mean X is a sister.  Perhaps "for" means that there exists
>>a filler for the slot listed in subject given the existence of
>>the object.
>>
>>But i would not be surprised if i misguessed.
>>
>>-- doug f
>>
>>>>-----Original Message-----
>>>>From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
>>>>[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx]On Behalf Of
>>doug foxvog
>>>>Sent: Wednesday, May 22, 2013 8:23 AM
>>>>To: [ontolog-forum]
>>>>Subject: Re: [ontolog-forum] Grover Models
>>>>
>>>>
>>>>On Tue, May 21, 2013 22:09, jmcclure@xxxxxxxxxxxxxx wrote:
>>>>
>>>>> Is it actually wrong to model with prepositions, or is it
>>just not a
>>>>> recommended practice?
>>>>
>>>>So long as the terms are defined, then their names only matter so
>>>>far as how confusing they are.  Prepositions are extremely general,
>>>>so are quite confusing.  Their use as predicates is thus strongly
>>>>recommended against.
>>>>
>>>>> For the "X is-sister-of Y" relation here is a graph
>>>>> (the syntax [[resource-name]] connotes a wiki link, that is,
>>>>a pagename in
>>>>> the wiki or a subobject of a page in the wiki). Below I'm
>>>>keen to easily
>>>>> resolve both 'has' and "is-a" Sister kind of queries.
>>>>
>>>>The intended semantics below comes from far more than what is
>>>>stated above.  The below seems self-inconsistent and inconsistent
>>>>with the above paragraph, but since you ask below how this could
>>>>be translated into another language, i will translate my guesses of
>>>>what is intended into Cyc.
>>>>
>>>>> [[Person:X]] has [[Sister:Person:Y]]
>>>>(and (isa PersonX Person) (isa PersonY Person) (sisterOf
>>>>PersonX PersonY))
>>>>
>>>>> [[Person:Y]] has [[Sister:Person:X]]
>>>>(and (isa PersonY Person) (isa Person Person) (sisterOf
>>>>PersonY PersonX))
>>>>
>>>>> [[Person:X]] of [[Type:Sister:XY]]
>>>>(and (isa PersonX Person) (isa SisterXY Sisterhood)
>>>>       (groupMembers SisterXY PersonX))
>>>>
>>>>> [[Person:Y]] of [[Type:Sister:XY]]
>>>>(and (isa PersonY Person) (isa SisterXY Sisterhood)
>>>>       (groupMembers SisterXY PersonY))
>>>>
>>>>> [[Sister:Person:X]] of [[Type:Sister:XY]]
>>>>(and (isa PersonX Person)  (isa PersonZ Person) (sisterOf
>>>>PersonX PersonZ)
>>>>       (isa SisterXY Sisterhood)(groupMembers SisterXY PersonZ))
>>>>?
>>>>
>>>>> [[Sister:Person:Y]] of [[Type:Sister:XY]]Z
>>>>(and (isa PersonY Person)  (isa PersonZ Person) (sisterOf
>>>>PersonY PersonZ)
>>>>       (isa SisterXY Sisterhood)(groupMembers SisterXY PersonZ))
>>>>?
>>>>
>>>>> [[Sister:Person:X]] for [[Person:X]]
>>>>(and (isa PersonX Person)  (isa PersonZ Person) (sisterOf
>>>>PersonX PersonZ)
>>>>       (sisterOf PersonX PersonZ))
>>>>?
>>>>
>>>>> [[Sister:Person:Y]] for [[Person:Y]]
>>>>(and (isa PersonY Person)  (isa PersonZ Person) (sisterOf
>>>>PersonY PersonZ)
>>>>       (sisterOf PersonY PersonZ))
>>>>?
>>>>
>>>>> [[Type:Sister:XY]] of [[Type:Sister]]
>>>>(and (isa SisterXY Sisterhood) (isa SisterXY Sisterhood))
>>>>?
>>>>
>>>>> [[Type:Sister:XY]] has [[Instance:Sister:XY]]
>>>>(and (isa SisterXY Sisterhood) (isa SisterXY Sisterhood)
>>>>        (genls Sisterhood Individual))
>>>>???
>>>>
>>>>> [[Instance:Sister:XY]] of [[Type:Sister:XY]]
>>>>(and (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (isa SisterXY Sisterhood))
>>>>???
>>>>
>>>>> [[Instance:Sister:XY]] for [[Person:X]]
>>>>(and (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (groupMembers SisterXY PersonY) (isa PersonY Person))
>>>>> [[Instance:Sister:XY]] for [[Person:Y]]
>>>>>
>>>>> ...describing the Sister(hood) instance further:
>>>>> [[Instance:Sister:XY]] in [[Category:Legal]]
>>>>(and (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (legalCategory SisterXY LegallyDefinedRelationship))
>>>>
>>>>> [[Instance:Sister:XY]] in [[Year:1953]]
>>>>(and (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (startingDate SisterXY (YearFn 1953)))
>>>>
>>>>> [[Instance:Sister:XY]] on [[Day:12-01]]
>>>>(and (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (implies (startingDate SisterXY (YearFn ?YEAR))
>>>>                    (startingDate SisterXY
>>>>                         (DayFn 1 (MonthFn December (YearFn
>>?YEAR))))))
>>>>
>>>>> [[Instance:Sister:XY]] by [[Adoption:Person:Y]]
>>>>(and  (isa SisterXY Sisterhood) (isa AdoptionPersonY Adoption)
>>>>         (personAdopted AdoptionPersonY PersonY) (isa PersonY Person)
>>>>         (causitiveEvent SisterXY AdoptionPersonY))
>>>>
>>>>> [[Instance:Sister:XY]] until [[Death:Person:Y]]
>>>>(and  (isa SisterXY Sisterhood)  (genls Sisterhood Individual)
>>>>        (cotemporalEvents (EndFn SisterXY) (DeathFn PersonY)
>>>>        (isa PersonY Person))
>>>>
>>>>> ...describing Type:Sister(hood) further:
>>>>> [[Type:Sister]] of [[Type:RelationshipStatus]]
>>>>(isa Sisterhood Relationship)
>>>>
>>>>> [[Type:Sister]] in [[Category:Human]]
>>>>(isa Sisterhood RelationshipBetweenHumans)
>>>>
>>>>> [[Type:Sister]] in [[Category:Familial]]
>>>>(isa Sisterhood FamilialRelationship)
>>>>
>>>>> [[Type:Sister]] in [[Category:Symmetric]]
>>>>(isa Sisterhood SymmetricStatus)
>>>>
>>>>
>>>>> Any takers how other ontologies would express the
>>information above?
>>>>> Thanks - jmc
>
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>    (018)



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (019)

<Prev in Thread] Current Thread [Next in Thread>