(define (domain drc_bbn_gen_merging) (:extends (uri "http://orlando.drc.com/daml/Ontology/Genealogy/3.1/Gentology-ont.daml" :prefix drc_ged) (uri "http://www.daml.org/2001/01/gedcom/gedcom.daml" :prefix bbn_ged) (uri "http://www.w3.org/2000/10/XMLSchema" :prefix xsd) (uri "http://www.cs.yale.edu/~ddj/ontologies/daml/damlex_drc_person_merging" :prefix damlex_drc_person_merging) ) (:requirement :universal-preconditions :existential-preconditions) (:types Family Event - Obj Individual - @damlex_drc_person_merging:Person Male Female - Individual FamilyEvent IndividualEvent - Event Marriage Divorce - FamilyEvent Birth Death - IndividualEvent ) (:predicates (givenName i - Individual gn - @xsd:string) (surname i - Individual sn - @xsd:string) (name i - Individual n - @xsd:string) (sex i - Individual s - @xsd:string) (title i - Individual t - @xsd:string) (spouseIn s - Individual f - Family) (childIn c - Individual f - Family) (birth i - Individual b - Birth) (death i - Individual d - Death) (marriage f - Family m - Marriage) (divorce f - Family d - Divorce) (date e - Event d - @xsd:string) (place e - Event d - @xsd:string) (husband f - Family h - Male) (wife f - Family w - Female) (child f - Family c - Individual) (ofFamily fe - FamilyEvent f - Family) (ofIndividual ie - IndividualEvent i - Individual) ) (:axioms (T-> @drc_ged:Family Family) (T-> @bbn_ged:Family Family) (T-> @bbn_ged:Individual Individual) (T-> @drc_ged:Individual Individual) (T-> @drc_ged:Event Event) (T-> @bbn_ged:Event Event) (T-> @drc_ged:FamilyEvent FamilyEvent) (T-> @bbn_ged:FamilyEvent FamilyEvent) (T-> @drc_ged:IndividualEvent IndividualEvent) (T-> @bbn_ged:IndividualEvent IndividualEvent) (T-> @drc_ged:MarriageEvent Marriage) (T-> @bbn_ged:Marriage Marriage) (T-> @drc_ged:DivorceEvent Divorce) (T-> @bbn_ged:Divorce Divorce) (T-> @drc_ged:BirthEvent Birth) (T-> @bbn_ged:Birth Birth) (T-> @drc_ged:DeathEvent Death) (T-> @bbn_ged:Death Death) (T-> @drc_ged:Male Male) (T-> @drc_ged:Female Female) (forall (p - Individual n - @xsd:string) (iff (@bbn_ged:givenName p n) (givenName p n))) (forall (p - Individual sn - @xsd:string) (iff (@drc_ged:surname p n) (surname p n))) (forall (p - Individual n - @xsd:string) (iff (@bbn_ged:surname p n) (surname p n))) (forall (p - Individual n1 n2 - @xsd:string) (if (and (@drc_ged:name p n1) (@drc_ged:surname p n2)) (name p (@built_in:cons n1 n2)))) (forall (p - Individual n - @xsd:string) (if (name p n) (@drc_ged:name p n))) (forall (p - Individual n - @xsd:string) (iff (@bbn_ged:name p n) (name p n))) (forall (p - Individual s - @xsd:string) (iff (@drc_ged:sex p s) (sex p s))) (forall (p - Individual s - @xsd:string) (iff (@bbn_ged:sex p s) (sex p s))) (forall (c - Individual f - Family) (iff (@drc_ged:childIn c f) (childIn c f))) (forall (c - Individual f - Family) (iff (@bbn_ged:childIn c f) (childIn c f))) (forall (s - Individual f - Family) (iff (@drc_ged:spouseIn s f) (spouseIn s f))) (forall (s - Individual f - Family) (iff (@bbn_ged:spouseIn s f) (spouseIn s f))) (forall (e - Event d - @xsd:string) (iff (@drc_ged:date e d) (date e d))) (forall (e - Event d - @xsd:string) (iff (@bbn_ged:date e d) (date e d))) (forall (e - Event p - @xsd:string) (iff (@drc_ged:location e p) (place e p))) (forall (e - Event p - @xsd:string) (iff (@bbn_ged:place e p) (place e p))) (forall (p - Individual b - Birth) (iff (@drc_ged:birth p b) (birth p b))) (forall (p - Individual b - Birth) (iff (@bbn_ged:birth p b) (birth p b))) (forall (b - Birth p - Individual) (iff (@drc_ged:ofIndividual b p) (birth p b))) (forall (p - Individual d - Death) (iff (@drc_ged:death p d) (death p d))) (forall (p - Individual d - Death) (iff (@bbn_ged:death p d) (death p d))) (forall (d - Death p - Individual) (iff (@drc_ged:ofIndividual d p) (death p d))) (forall (f - Family m - Marriage) (iff (@drc_ged:marriage f m) (marriage f m))) (forall (f - Family m - Marriage) (iff (@bbn_ged:marriage f m) (marriage f m))) (forall (f - Family m - Marriage) (iff (@drc_ged:ofFamily m f) (marriage f m))) (forall (f - Family d - Divorce) (iff (@drc_ged:divorce f d) (divorce f d))) (forall (f - Family d - Divorce) (iff (@bbn_ged:divorce f d) (divorce f d))) (forall (f - Family d - Divorce) (iff (@drc_ged:ofFamily d f) (divorce f d))) (forall (p - Individual t - @xsd:string) (iff (@bbn_ged:title p t) (title p t))) (forall (f - Family h - Individual) (iff (@drc_ged:husband f h) (husband f h))) (forall (f - Family h1 - Individual h2 - Individual) (if (and (husband f h1) (husband f h2)) (= h1 h2))) (forall (f - Family w1 - Individual w2 - Individual) (if (and (wife f w1) (wife f w2)) (= w1 w2))) (forall (e - Event ds1 - @xsd:string ds2 - @xsd:string) (if (and (date e ds1) (date e ds2)) (= ds1 ds2))) (forall (e - Event ps1 - @xsd:string ps2 - @xsd:string) (if (and (place e ps1) (place e ps2)) (= ps1 ps2))) (forall (x - Individual gn1 - @xsd:string gn2 - @xsd:string) (if (and (givenName x gn1) (givenName x gn2)) (= gn1 gn2))) (forall (x - Individual sn1 - @xsd:string sn2 - @xsd:string) (if (and (surname x gn1) (surname x sn2)) (= sn1 sn2))) (forall (x - Individual n1 - @xsd:string n2 - @xsd:string) (if (and (name x n1) (name x n2)) (= n1 n2))) (forall (x - Individual s1 - @xsd:string s2 - @xsd:string) (if (and (sex x s1) (sex x s2)) (= s1 s2))) (forall (x - Individual t1 - @xsd:string t2 - @xsd:string) (if (and (title x t1) (title x t2)) (= t1 t2))) (forall (x - Individual f1 - Family f2 - Family) (if (and (childIn x f1) (childIn x f2)) (= f1 f2))) (forall (f - Family m1 - Marriage m2 - Marriage) (if (and (marriage f m1) (marriage f m2)) (= m1 m2))) (forall (x - Individual b1 - Birth b2 - Birth) (if (and (birth x b1) (birth x b2)) (= b1 b2))) (forall (x - Individual d1 - Death d2 - Death) (if (and (death x d1) (death x d2)) (= d1 d2))) (forall (f - Family h - Individual m - Marriage) (if (and (@bbn_ged:sex h "M") (@bbn_ged:spouseIn h f) (@bbn_ged:marriage f m)) (husband f h))) (forall (f - Family h - Individual) (if (husband f h) (and (@bbn_ged:sex h "M") (@bbn_ged:spouseIn h f) (@bbn_ged:marriage f (@skolem:hMarriage f) - Marriage) (wife f (@skolem:hwife f) - Female)))) (forall (f - Family w - Individual) (iff (@drc_ged:wife f w) (wife f w))) (forall (f - Family w - Individual m - Marriage) (if (and (@bbn_ged:sex w "F") (@bbn_ged:spouseIn w f) (@bbn_ged:marriage f m)) (wife f w))) (forall (f - Family w - Individual) (if (wife f w) (and (@bbn_ged:sex w "F") (@bbn_ged:spouseIn w f) (@bbn_ged:marriage f (@skolem:wMarriage f) - Marriage) (husband f (@skolem:whusband f) - Male)))) (forall (f - Family c - Individual) (iff (@drc_ged:child f c) (child f c))) (forall (f - Family c - Individual) (iff (child f c) (@bbn_ged:childIn c f))) (forall (fe - FamilyEvent f - Family) (iff (@drc_ged:ofFamily fe f) (ofFamily fe f))) (forall (ie - IndividualEvent p - Individual) (iff (@drc_ged:ofIndividual ie p) (ofIndividual ie p))) ) )