GMEOW Genealogy Module
- IRI: https://blackcatinformatics.ca/gmeow/slices/genealogy
- Tier: extension
Group: extensions
What This Slice Covers
This slice owns 21 terms and contributes 47 mapping or projection rows. Use it when its terms match the native fact you want to preserve; use the linkage tables to see how those facts leave GMEOW for consumer vocabularies.
Dependencies
Consumers
- Kin relationships for the family-history use of the mail corpus; GEDCOM alignment.
Local Map
Examples
Biological And Adoptive
- Source:
slices/extensions/genealogy/examples/biological-and-adoptive.ttl - GMEOW terms:
gmeow:AdoptiveParentChild,gmeow:BiologicalParentChild,gmeow:Person,gmeow:hasFather,gmeow:hasParent,gmeow:name,gmeow:relationshipChild,gmeow:relationshipParent
# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: parent-child is not one relation (Principle 9). Most schemas have
# a single "parent" field; GMEOW reifies the KIND of parentage, so a child's
# BIOLOGICAL and ADOPTIVE parents COEXIST rather than overwrite. A
# gmeow:BiologicalParentChild and a gmeow:AdoptiveParentChild (siblings of
# Foster/Step) each bind a gmeow:relationshipParent to a gmeow:relationshipChild.
# Flat gmeow:hasParent / gmeow:hasFather remain available as the simple view; the
# reified relations carry the distinction the flat edges can't.
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/genealogy/> .
ex:alex a gmeow:Person ; gmeow:name "Alex"@en ; gmeow:hasParent ex:birthFather , ex:adoptiveMother .
ex:birthFather a gmeow:Person ; gmeow:name "Jordan (birth father)"@en .
ex:adoptiveMother a gmeow:Person ; gmeow:name "Priya (adoptive mother)"@en .
# --- The two parentages coexist — neither erases the other (P9). A child has a
# biological father AND an adoptive mother, each a distinct reified relation;
# the flat gmeow:hasParent edges above are the simple, kind-blind view.
ex:biological a gmeow:BiologicalParentChild ;
gmeow:relationshipParent ex:birthFather ;
gmeow:relationshipChild ex:alex .
ex:adoptive a gmeow:AdoptiveParentChild ;
gmeow:relationshipParent ex:adoptiveMother ;
gmeow:relationshipChild ex:alex .
Terms
Classes
| Term | Label | Definition |
|---|---|---|
gmeow:AdoptiveParentChild |
Adoptive Parent-Child | A parent-child relationship established by adoption. |
gmeow:BiologicalParentChild |
Biological Parent-Child | A parent-child relationship by biological descent. |
gmeow:CoupleRelationship |
Couple Relationship | A reified couple relationship (marriage, civil union, or partnership) between two persons; bears marriage, divorce and related events. |
gmeow:Family |
Family | A kinship group of persons related by descent, marriage, or adoption. |
gmeow:FosterParentChild |
Foster Parent-Child | A parent-child relationship through fostering. |
gmeow:KinRelationship |
Kin Relationship | A reified kinship relationship between persons, modelled as an observation (a claim-from-a-vantage) in the universal stack (observation-spine bridge). Able to... |
gmeow:ParentChildRelationship |
Parent-Child Relationship | A reified parent-child relationship, typed by its nature (biological, adoptive, step, or foster). |
gmeow:StepParentChild |
Step Parent-Child | A parent-child relationship through marriage to a biological/adoptive parent. |
Properties
| Term | Label | Definition |
|---|---|---|
gmeow:hasAncestor |
has ancestor | Relates a person to an ancestor — a parent, a parent's parent, and so on. Transitive: an ancestor of an ancestor is an ancestor. gmeow:hasParent (hence gmeow:h... |
gmeow:hasChild |
has child | Relates a person to a child; the inverse of hasParent. |
gmeow:hasCoupleEvent |
has couple event | Relates a couple relationship to an event in its history — the marriage, the divorce, an anniversary (project homepage and language). The seam the GEDCOM proje... |
gmeow:hasDescendant |
has descendant | Relates a person to a descendant — a child, a child's child, and so on; the transitive inverse of gmeow:hasAncestor. Derived by the reasoner (gmeow:hasChild is... |
gmeow:hasFather |
has father | Relates a person to a male parent. |
gmeow:hasMother |
has mother | Relates a person to a female parent. |
gmeow:hasParent |
has parent | Relates a person to a parent (any kind: biological, adoptive, step, or foster). Non-functional: contested parentage claims from multiple sources coexist as sta... |
gmeow:hasPartner |
has partner | Relates a couple relationship to one of its two partners. |
gmeow:hasSibling |
has sibling | Relates a person to a sibling; symmetric. |
gmeow:hasSpouse |
has spouse | Relates a person to a spouse; symmetric. |
gmeow:relationshipChild |
relationship child | The child in a reified parent-child relationship. |
gmeow:relationshipParent |
relationship parent | The parent in a reified parent-child relationship. |
gmeow:withinFamily |
within family | Anchors a reified kinship relationship in the family group it belongs to — the structural seam GEDCOM exchange requires (a child's family, a marriage's family)... |
Linkages
- Rows: 47
- Projection profiles:
foaf,gedcom - External vocabularies:
bio,foaf,gedcom,gx,rdf,rel,schema,sosa,wd,wdt
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:AdoptiveParentChild |
equivalence | - |
skos:closeMatch | gx:AdoptiveParent | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy047; confidence 0.9 |
gmeow:BiologicalParentChild |
equivalence | - |
skos:closeMatch | gx:BiologicalParent | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy046; confidence 0.9 |
gmeow:CoupleRelationship |
equivalence | - |
skos:closeMatch | gx:Couple | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy044; confidence 0.95 |
gmeow:Family |
equivalence | - |
owl:equivalentClass | gedcom:Family | gmeow-classes.sssom.tsv; gmeow:eqClasses033; confidence 1 |
gmeow:Family |
equivalence | - |
skos:exactMatch | wd:Q8436 | gmeow-wikidata.sssom.tsv; gmeow:eqWikidata005; confidence 0.9 |
gmeow:FosterParentChild |
equivalence | - |
skos:closeMatch | gx:FosterParent | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy049; confidence 0.9 |
gmeow:KinRelationship |
equivalence | - |
skos:closeMatch | sosa:Observation | gmeow-observations.sssom.tsv; gmeow:eqObs023; confidence 0.8 |
gmeow:ParentChildRelationship |
equivalence | - |
skos:closeMatch | gx:ParentChild | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy045; confidence 0.95 |
gmeow:StepParentChild |
equivalence | - |
skos:closeMatch | gx:StepParent | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy048; confidence 0.9 |
gmeow:hasChild |
equivalence | - |
skos:closeMatch | bio:child | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy056; confidence 0.9 |
gmeow:hasChild |
equivalence | - |
skos:closeMatch | gedcom:child | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy071; confidence 0.8 |
gmeow:hasChild |
equivalence | - |
owl:equivalentProperty | rel:parentOf | gmeow-properties.sssom.tsv; gmeow:eqProperties023; confidence 0.95 |
gmeow:hasChild |
equivalence | - |
owl:equivalentProperty | schema:children | gmeow-properties.sssom.tsv; gmeow:eqProperties022; confidence 1 |
gmeow:hasChild |
equivalence | - |
skos:closeMatch | wdt:P40 | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy066; confidence 0.95 |
gmeow:hasFather |
equivalence | - |
skos:closeMatch | bio:father | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy054; confidence 0.9 |
gmeow:hasFather |
equivalence | - |
skos:closeMatch | wdt:P22 | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy064; confidence 0.95 |
gmeow:hasMother |
equivalence | - |
skos:closeMatch | bio:mother | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy055; confidence 0.9 |
gmeow:hasMother |
equivalence | - |
skos:closeMatch | wdt:P25 | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy065; confidence 0.95 |
gmeow:hasParent |
equivalence | - |
owl:equivalentProperty | rel:childOf | gmeow-properties.sssom.tsv; gmeow:eqProperties021; confidence 0.95 |
gmeow:hasParent |
equivalence | - |
owl:equivalentProperty | schema:parent | gmeow-properties.sssom.tsv; gmeow:eqProperties020; confidence 1 |
gmeow:hasParent |
equivalence | - |
skos:closeMatch | wdt:P8810 | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy063; confidence 0.9 |
gmeow:hasPartner |
equivalence | - |
skos:closeMatch | gedcom:husband | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy072; confidence 0.7 |
gmeow:hasPartner |
equivalence | - |
skos:closeMatch | gedcom:wife | gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy073; confidence 0.7 |
gmeow:hasSibling |
equivalence | - |
owl:equivalentProperty | rel:siblingOf | gmeow-properties.sssom.tsv; gmeow:eqProperties027; confidence 1 |
| ... | ... | ... | ... | ... | 23 more rows |
Guide
Genealogy — evidence-centric kinship, derived ancestry
Slice:
https://blackcatinformatics.ca/gmeow/slices/genealogy· tier: extension Reified, typed kinship as observation; ancestry the reasoner derives, never asserts.
Genealogy is the discipline of contested evidence, and the slice models it that way. A
kinship claim is an observation — a claim-from-a-vantage in the universal stack
(observation-spine bridge) — not a brute fact. The standpoint doctrine governs everything
contested: disputed parentage, conflicting birth/death dates, competing civil vs parish
records are standpoint-indexed claims that coexist, none privileged (Principle 9). A
contested parentage is two accordingTo-annotated hasParent triples, or two reified
ParentChildRelationship instances each carrying gmeow:accordingTo. There is no
genealogy-specific dispute mechanism, no preferredParent, no primaryKinship — only
the cross-cutting standpoint facility. A withdrawn claim sets gmeow:displayable false,
never deletion (Principle 10).
Equally important is what the slice does not own. Life events belong to the universal
events module (LifeEvent occurrences carrying eventTypeBirth / …Marriage /
…NameChange values, with Participation relators for principal/witness/officiant);
names belong to the names module (PersonName, linked to its conferring event via
conferredByEvent); sex and gender belong to the gender and sexuality modules. The slice
supersedes the unmaintained W3C SWAP gedcom vocabulary and is aligned to BIO, GEDCOM X,
schema.org, Wikidata, REL, and GeoNames. Its Principle-15 consumer, declared in the
manifest: kin relationships for the family-history use of the mail corpus, and the
GEDCOM alignment.
The reified layer
gmeow:KinRelationship
The root reified kinship relator — simultaneously a gmeow:Observation and a
gufo:Relator: a relationship is a claim from a vantage, able to bear its own events,
dates, sources, and standpoint-indexed sub-claims. The participants are co-observed
features (relationshipParent/relationshipChild/hasPartner are observedFeature
sub-properties — the slice-dependency doctrine bridge declared here, so the observation spine never
knows the slice).
gmeow:ParentChildRelationship
The parent-child relator, typed by nature via its four subkinds. Relator mediation is
axiomatized (EL someValuesFrom: a parent and a child exist) so ELK sees the structure;
closed-world cardinality is SHACL's (SHACL closure gate).
gmeow:BiologicalParentChild · gmeow:AdoptiveParentChild · gmeow:StepParentChild · gmeow:FosterParentChild
The four natures of parenthood as subkinds — one of the few places GMEOW subclasses rather than using a value vocabulary, because the nature changes the relator's identity conditions (an adoption is a different relationship, not the same one re-labelled).
gmeow:relationshipParent · gmeow:relationshipChild
The functional role properties of a ParentChildRelationship: one parent, one child per
relator. A child with two parents has two relators — which is exactly what lets each
parentage claim carry its own evidence and standpoint.
gmeow:CoupleRelationship
The reified couple relator — marriage, civil union, or partnership — bearing marriage,
divorce, and related events. Its two partners attach via gmeow:hasPartner (an
observedFeature bridge like the parent/child roles).
gmeow:Family
A Group subkind: a kinship group related by descent, marriage, or adoption. The
GEDCOM-style family record, grounded in the universal Group machinery rather than
reinvented.
The flat layer (the 80 % case)
gmeow:hasParent · gmeow:hasChild
The flat shortcuts, mutually inverse, deliberately non-functional: contested parentage
claims from multiple sources coexist as accordingTo-annotated statements (Principle 9).
hasMother/hasFather specialize hasParent. Both are sub-properties of
gmeow:connectsTo — kinship bonds are traversable links in the universal graph layer
(connectivity spine), safely, because connectsTo is neither symmetric nor transitive.
gmeow:hasSpouse · gmeow:hasSibling
Symmetric flat shortcuts, also connectsTo sub-properties. Their symmetry stays local —
the connectivity spine imposes nothing back.
gmeow:hasAncestor · gmeow:hasDescendant
The derived closure (relator-mediation doctrine, phase 2 of the reasoning-depth design):
hasAncestor is transitive with hasParent as a sub-property, so the reasoner entails
the full ancestor closure that was never asserted; hasDescendant adds the DL inverse
(HermiT-complete). Both are non-simple (transitive) and are deliberately kept out of
every cardinality and functional axiom, preserving OWL 2 DL regularity. Never assert
ancestry directly — assert parentage and let the reasoner do its one job.
Solver layer & alignment
Beyond the OWL-derived ancestor closure, genealogy computation — relationship-degree calculation ("second cousin once removed"), pedigree collapse, generation numbering — is the solver layer's work (Principle 12) over the asserted parentage graph. The GEDCOM X / BIO / schema.org alignments are projections of the reified relators; the evidence-bearing form is canonical, the flat GEDCOM record is the lossy down-projection.
Dependencies
Depends on kernel, entities (Person, Group), and observations (the Observation
spine the relators sit on). Leans on events, names, gender, and connectivity by
convention — each contribution declared in the slice that owns it.
Couple events (project homepage and language)
gmeow:hasCoupleEvent
Links a gmeow:CoupleRelationship to an event in its history — the marriage, divorce,
or anniversary. The seam the GEDCOM projection walks: a marriage gmeow:Event's
gmeow:eventTime / gmeow:eventLocation source gedcom:date / gedcom:place on the
couple's minted Marriage node.