ontology-summit
[Top] [All Lists]

Re: [ontology-summit] First Model Bench Challenge

To: "'Ontology Summit 2012 discussion'" <ontology-summit@xxxxxxxxxxxxxxxx>
From: "doug foxvog" <doug@xxxxxxxxxx>
Date: Tue, 1 May 2012 10:31:34 -0400
Message-id: <8547b31b33946fc3201158b86d79cc49.squirrel@xxxxxxxxxxxxxxxxx>
On Tue, May 1, 2012 02:30, Matthew West wrote:
> Dear Doug,
> Seems to be a current state model. Does not handle past marriages.    (01)

To refer to the timing of an event or situation (current, past, or future),
one uses predicates or contexts that specify a different time frame in Cyc.
One can model multiple marriages by the same people (even to each other)
using Cyc's standard temporal predicates.  There is nothing unique about
marriage in this regards. Putting an effort into separately ontologizing
standard temporal aspects of each type of temporal thing would be an
improper way to go.    (02)

Certainly, one can define and model events, situations, and relations
specific to temporal aspects of marriages: wedding anniversaries, divorces,
marriage annulments, and widowhood.  Depending upon the requirements
of the ontology, some or all of these should be ontologized.    (03)

To specify a starting date or time of a marriage in CycL:
(startsDuring Marriage1 <TemporalThing>)
or
(startingDate Marriage1 <Date>)
This can be derived if the timing of the WeddingCeremony that is a
#$firstProperSubSituations of the marriage is defined.    (04)

A remarriage can be indicated thusly:
  (isa Marriage1 Marriage)
  (husbandOfMarriage Marrige1 JohnDoeFoxvog)
  (wifeOfMarriage Marriage1 JaneRoeForsberg)
  (startingDate Marriage1 (YearFn 1950 (MonthFn April (DayFn 1))))
  (dateOfDeath JaneRoeForsberg (YearFn 1990 (MonthFn April (DayFn 1))))
  (endingDate Marriage1 (YearFn 1990 (MonthFn April (DayFn 1))))
  :
  (isa Marriage2 Marriage)
  (husbandOfMarriage Marriage2 JohnDoeFoxvog)
  (wifeOfMarriage Marriage2 JaneRoeNelson)
  (startingDate Marriage2 (YearFn 2000 (MonthFn April (DayFn 1))))
  (endsAfterEndingOf Marriage2 (YearFn 2012 (MonthFn May (DayFn 1))))    (05)

If asked, Cyc can verify:
  (startsAfterEndingOf Marriage2 Marriage1)    (06)


Cyc's model for divorce includes:    (07)

(isa Divorce TemporalObjectType)
(genls Divorce Event-Organized)
(genls Divorce DestructionEvent)
(comment Divorce "An event which causes a marriage to end (when neither of
the spouses' lives do).")
(relationAllExistsCount inputsDestroyed Divorce Marriage 1)
; every divorce destroys exactly one marriage
(relationExistsAllCount lastProperSubSituations Marriage Divorce 1)
; every divorce is always the final situation of exactly one marriage.    (08)

In the appropriate context:
(genls Divorce LegalProcess)    (09)

This could use more detail to distinguish Divorce from annulment.
Specializations (ContestedDivorce UncontestedDivorce) would be
useful.  Alimony, ParentalVisitingRights, ... should be ontologized
to give a good description of divorce.    (010)

Most of the above CycL statements would also apply to Anullment.
It could get tricky modeling the legal fiction that the marriage never
existed.    (011)

Cyc's predicate #$widowOf includes:    (012)

(isa widowOf AsymmetricBinaryPredicate)
(isa widowOf AntiTransitiveBinaryPredicate)
(isa widowOf TimeDependentRelation)
(isa widowOf StrictlyFunctionalPredicate)
(isa widowOf TemporalExistencePredicate)    (013)

(comment widowOf "(widowOf DECEASED WIDOW) means that WIDOW is alive and
was married to DECEASED at the time when DECEASED died. Despite the name,
WIDOW may be either a widow or a widower (female or male). In cultures in
which one may only have a single spouse, there may be only one widow(er)
for any deceased.")    (014)

(genlInverse widowOf endsAfterEndingOf)
(negationInverse widowOf widowOf)    (015)

(arg1Format widowOf SetTheFormat)
(arg2Format widowOf SetTheFormat)    (016)

(arg1Isa widowOf Person)
(arg2Isa widowOf Person)    (017)

In the appropriate context:
(arg2Isa widowOf HumanAdult)    (018)



-- doug foxvog    (019)

> Regards
>
> Matthew West
> Information  Junction
> Tel: +44 1489 880185
> Mobile: +44 750 3385279
> Skype: dr.matthew.west
> matthew.west@xxxxxxxxxxxxxxxxxxxxxxxxx
> http://www.informationjunction.co.uk/
> http://www.matthew-west.org.uk/
>
> This email originates from Information Junction Ltd. Registered in England
> and Wales No. 6632177.
> Registered office: 2 Brookside, Meadow Way, Letchworth Garden City,
> Hertfordshire, SG6 3JE.
>
>
>
>
>> -----Original Message-----
>> From: ontology-summit-bounces@xxxxxxxxxxxxxxxx [mailto:ontology-summit-
>> bounces@xxxxxxxxxxxxxxxx] On Behalf Of doug foxvog
>> Sent: 30 April 2012 21:40
>> To: Ontology Summit 2012 discussion
>> Subject: Re: [ontology-summit] First Model Bench Challenge
>>
>> On Sat, April 28, 2012 19:45, henson graves wrote:
>> > The first Model Benchmark challenge problem is to model Cory's
>> > European marriage. The model is to describe one or more marriages. As
>> > Cory notes it has a few wrinkles. A description can be found at:
>> >
>> > http://www.omgwiki.org/architecture-
>> ecosystem/doku.php?id=composite_co
>> > ncepts
>>
>> Here's a first cut in CycL.  Undefined terms are CycL terms.
>>
>> (isa Marriage SituationType)
>> (genls Marriage Situation)
>> (comment Marriage "A specialization of Situation. Each instance of
>> Marriage is a situation in which a couple is married.")
>> (candidateProperSubSituationTypes Marriage WeddingCeremony)
>>
>> (isa spouseInMarriage BinaryPredicate)
>> (arg1Isa spouseInMarriage Person)
>> (arg2Isa spouseInMarriage Marriage)
>> (genlPreds spouseInMarriage participantIn) (comment spouseInMarriage
>> "(spouseInMarriage PERSON MARRIAGE) means the PERSON is one of the two
>> participants in the Marriage, MARRIAGE.")
>>
>> (isa husbandInMarriage BinaryPredicate)
>> (arg1Isa husbandInMarriage MalePerson)
>> (arg2Isa husbandInMarriage Marriage)
>> (typedGenlPreds husbandInMarriage spouseOfMarriage) (comment
>> husbandInMarriage "(husbandInMarriage MAN MARRIAGE) means the MAN is a
>> male participant in the Marriage, MARRIAGE.  In some contexts, there
>> may be exactly one husband in a marriage; in others there may be zero,
>> one, or two.")
>>
>> ; in some contexts:
>> (functionalInArg husbandOfMarriage 1)
>> (functionalInArg husbandOfMarriage 2)
>> (arg1Isa husbandOfMarriage AdultMalePerson)
>>
>>
>> (isa wifeInMarriage BinaryPredicate)
>> (arg1Isa wifeInMarriage FemalePerson)
>> (arg2Isa wifeInMarriage Marriage)
>> (typedGenlPreds wifeInMarriage spouseOfMarriage) (comment
>> wifeInMarriage "(wifeInMarriage WOMAN MARRIAGE) means the WOMAN is a
>> female participant in the Marriage, MARRIAGE.  In some contexts, there
>> may be exactly one wife in a marriage; in others there may be zero,
>> one, or two.")
>>
>> ; in some contexts:
>> (functionalInArg wifeOfMarriage 1)
>> (functionalInArg wifeOfMarriage 2)
>> (arg1Isa wifeOfMarriage AdultFemalePerson)
>>
>>
>> (isa spouseOf SymmetricBinaryPredicate)
>> (isa spouseOf IrreflexiveBinaryPredicate) (comment spouseOf "(spouseOf
>> PERSON1 PERSON2) means the two Persons
>> PERSON1 and PERSON2 are married, i.e., two participants of the same
>> Marriage. In most cases it is understood that the two spouses are
>> committed to being permanent, lifelong partners.  Cultures vary in
>> whether such a couple must be of opposite genders, the same ``race'' or
>> religion, the minimum age someone may be to enter into such a
>> relationship, and the number of cotemporal spouses a person may have.")
>> (arg1Isa spouseOf Person) (arg2Isa spouseOf Person) (genlPreds spouseOf
>> vestedInterest)
>>
>> (isa husbandOf BinaryPredicate)
>> (arg1Isa husbandOf MalePerson)
>> (arg2Isa husbandOf Person)
>> (typedGenlPreds husbandOf spouseOf)
>> (typedGenlInverse husbandOf spouseOf)
>> ; in some contexts:
>> (functionalInArg husbandOf 1)
>> (functionalInArg husbandOf 2)
>>
>> (isa wifeOf BinaryPredicate)
>> (arg1Isa wifeOf FemalePerson)
>> (arg2Isa wifeOf Person)
>> (typedGenlPreds wifeOf spouseOf)
>> (typedGenlInverse
>> ; in some contexts:
>> (functionalInArg wifeOf 1)
>> (functionalInArg wifeOf 2)
>> (inverseBinaryPredicateOf wifeOf husbandOf)
>>
>> (implies
>>   (and
>>      (spouseOfMarriage ?SPOUSE1 ?MARRIAGE1)
>>      (spouseOfMarriage ?SPOUSE2 ?MARRIAGE1)
>>      (different ?SPOUSE1 ?SPOUSE1))
>>   (spouseOf ?SPOUSE1 ?SPOUSE2))
>>
>> (implies
>>   (and
>>      (spouseOfMarriage ?SPOUSE1 ?MARRIAGE1)
>>      (spouseOfMarriage ?SPOUSE2 ?MARRIAGE1)
>>      (spouseOfMarriage ?SPOUSE3 ?MARRIAGE1))
>>   (or
>>      (equals ?SPOUSE1 ?SPOUSE2)
>>      (equals ?SPOUSE1 ?SPOUSE3)
>>      (equals ?SPOUSE3 ?SPOUSE2)))
>>
>> (implies
>>   (spouseOfMarriage ?SPOUSE1 ?MARRIAGE1))
>>   (or
>>      (husbandOfMarriage ?SPOUSE1 ?SPOUSE1)
>>      (wifeOfMarriage ?SPOUSE1 ?SPOUSE1)))
>>
>> ; Rules are needed connecting these to MarriageAgreement
>>
>> (isa MarriageAgreement TemporalObjectType) (genls MarriageAgreement
>> Agreement) ; in appropriate context (genls MarriageAgreement
>> LegalAgreement)
>>
>> using the CycL predicate #$agreeingAgents:
>> (isa agreeingAgents CoexistingObjectsPredicate) (isa agreeingAgents
>> BinaryPredicate) (genlPreds agreeingAgents policyForAgent) (argIsa
>> agreeingAgents 1 Agreement) (argIsa agreeingAgents 2 IntelligentAgent)
>> (comment agreeingAgents "A CoexistingObjectsPredicate and
>> specialization of normativelyBoundAgents that relates an Agreement
>> (q.v.) to the agents who made or are making the agreement.
>> (agreeingAgents AGREE PARTY) means that AGREE has PARTY among its
>> agreeing parties. Thus, PARTY will be mentioned in the content of
>> AGREE.
>>
>> Specializations of agreeingAgents include agreeingBuyer,
>> agreeingSeller, policyHolder, insuringAgent, employedAgent, and
>> employingAgent.")
>>
>> -- doug foxvog
>>
>> > Hopefully, the model will be expressed in at least FOL, OWL, and some
>> > UML variant.
>> >
>> >
>> >
>> > This is a good example to raise the issue of model (ontology)
>> quality.
>> >
>> >
>> >
>> > I will send a post to the model-challenge list next Monday in
>> response
>> > to what has been received.
>> >
>> >
>> >
>> > Henson
>> >
>> >
>> > _________________________________________________________________
>> > Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/
>> > Subscribe/Config:
>> > http://ontolog.cim3.net/mailman/listinfo/ontology-summit/
>> > Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
>> > Community Files:
>> http://ontolog.cim3.net/file/work/OntologySummit2012/
>> > Community Wiki:
>> > http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2012
>> > Community Portal: http://ontolog.cim3.net/wiki/
>> >
>>
>>
>>
>> _________________________________________________________________
>> Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/
>> Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-
>> summit/
>> Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
>> Community Files: http://ontolog.cim3.net/file/work/OntologySummit2012/
>> Community Wiki: http://ontolog.cim3.net/cgi-
>> bin/wiki.pl?OntologySummit2012
>> Community Portal: http://ontolog.cim3.net/wiki/
>
>    (020)



_________________________________________________________________
Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/   
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-summit/  
Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
Community Files: http://ontolog.cim3.net/file/work/OntologySummit2012/
Community Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2012  
Community Portal: http://ontolog.cim3.net/wiki/     (021)
<Prev in Thread] Current Thread [Next in Thread>