GMEOW Entities Module

What This Slice Covers

This slice owns 8 terms and contributes 43 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

Local Map

entities map

Examples

Agent Sortals

# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: the four agent sortals. A small consultancy, two of its
# people, an informal working group, and its CI bot — each a distinct gufo:Kind
# beneath the kernel's gmeow:Agent. The flat naming tier (gmeow:name) carries the
# 80% case here; anything that needs structure — a reified PersonName, a contact
# point, a location — attaches to these Kinds from its own slice (the entities
# slice stays deliberately thin). Person ⟂ Organization ⟂ SoftwareAgent are
# pairwise disjoint (a human is never a bot); Group is deliberately NOT disjoint
# (a structured organization is arguably also a group, P9).
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex:    <https://blackcatinformatics.ca/gmeow/examples/entities/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

# --- Organization: the flat name/description tier. A structured web presence
#     (gmeow:hasWebPage → a WEMI gmeow:WebPage) is shown in the documents example;
#     here the flat tier carries it.
ex:blackcat a gmeow:Organization ;
    gmeow:name "Blackcat Informatics® Inc."@en ;
    gmeow:description "A small ontology and tooling consultancy."@en .

# --- People: gmeow:Person, the identity-supplying sortal everything else anchors
#     to. Flat names suffice for the example; a contested or multilingual name
#     would promote to the names slice's reified PersonName.
ex:mara a gmeow:Person ;
    gmeow:name "Mara Okafor"@en ;
    gmeow:description "Backend engineer; maintains the release pipeline."@en .

ex:tomas a gmeow:Person ;
    gmeow:name "Tomáš Novák"@en .

# --- Group: a collection of agents treated as a unit WITHOUT the formal
#     structure of an organization. Sub-organization decomposition would instead
#     use gmeow:subOrganizationOf in the organization slice.
ex:platformTeam a gmeow:Group ;
    gmeow:name "Platform team"@en ;
    gmeow:description "An informal cross-functional working group, not a legal sub-organization."@en .

# --- SoftwareAgent: a process acting on behalf of an organization. Disjoint with
#     Person; the "acts on behalf of" delegation is a provenance-layer relation,
#     not subclassing.
ex:ciBot a gmeow:SoftwareAgent ;
    gmeow:name "blackcat-ci"@en ;
    gmeow:description "The CI build agent that runs Blackcat's release pipeline."@en .

Terms

Classes

Term Label Definition
gmeow:Group Group A collection of agents treated as a unit without the formal structure of an organization.
gmeow:Organization Organization A structured group of agents — a company, institution, association, or governmental body — able to act as a single agent.
gmeow:Person Person An individual human being, living or deceased.
gmeow:SoftwareAgent Software Agent A software process or autonomous program that acts on behalf of a person or organization.

Properties

Term Label Definition
gmeow:description description A free-text note or description about an entity — the unstructured NOTE field (a biography, a remark, an annotation). Genuinely flat: unlike names, dates or ro...
gmeow:hasWebPage has web page Relates an entity to a web page representing it — a homepage, a profile page, a project site. The structured form of a 'website / URL' field: the page is a fir...
gmeow:name name A simple label by which an entity is known — the rdfs:label tier, for entities that do not need the full naming apparatus (organizations, software agents, sour...
gmeow:nationality nationality The country of a person's nationality (schema:nationality) — a gmeow:Place. The legal/national-identity bond, distinct from where a person currently lives. Non...

Linkages

Source Kind Profile Predicate/Relation Target Evidence
gmeow:Group equivalence - owl:equivalentClass foaf:Group gmeow-classes.sssom.tsv; gmeow:eqClasses009; confidence 0.95
gmeow:Group equivalence - skos:closeMatch wd:Q874405 gmeow-wikidata.sssom.tsv; gmeow:eqWikidata054; confidence 0.75
gmeow:Organization equivalence - owl:equivalentClass foaf:Organization gmeow-classes.sssom.tsv; gmeow:eqClasses005; confidence 1
gmeow:Organization equivalence - rdfs:subClassOf org:FormalOrganization gmeow-classes.sssom.tsv; gmeow:eqClasses006; confidence 1
gmeow:Organization equivalence - owl:equivalentClass schema:Organization gmeow-classes.sssom.tsv; gmeow:eqClasses004; confidence 1
gmeow:Organization equivalence - skos:exactMatch wd:Q43229 gmeow-wikidata.sssom.tsv; gmeow:eqWikidata002; confidence 0.9
gmeow:Person equivalence - owl:equivalentClass foaf:Person gmeow-classes.sssom.tsv; gmeow:eqClasses002; confidence 1
gmeow:Person equivalence - owl:equivalentClass gedcom:Individual gmeow-classes.sssom.tsv; gmeow:eqClasses003; confidence 0.95
gmeow:Person equivalence - skos:closeMatch gxv:Person gmeow-genealogy.sssom.tsv; gmeow:eqGenealogy043; confidence 0.9
gmeow:Person equivalence - owl:equivalentClass schema:Person gmeow-classes.sssom.tsv; gmeow:eqClasses001; confidence 1
gmeow:Person equivalence - skos:exactMatch wd:Q5 gmeow-wikidata.sssom.tsv; gmeow:eqWikidata001; confidence 0.95
gmeow:description equivalence - skos:closeMatch dcterms:description gmeow-dublin-core.sssom.tsv; gmeow:eqDcTerms002; confidence 0.9
gmeow:description equivalence - skos:closeMatch dcterms:description gmeow-properties.sssom.tsv; gmeow:eqProperties037; confidence 0.9
gmeow:description equivalence - owl:equivalentProperty schema:description gmeow-properties.sssom.tsv; gmeow:eqProperties036; confidence 1
gmeow:description equivalence - skos:closeMatch vcard:note gmeow-properties.sssom.tsv; gmeow:eqProperties038; confidence 0.8
gmeow:hasWebPage equivalence - skos:closeMatch foaf:homepage gmeow-properties.sssom.tsv; gmeow:eqProperties040; confidence 0.8
gmeow:hasWebPage equivalence - skos:closeMatch schema:url gmeow-properties.sssom.tsv; gmeow:eqProperties039; confidence 0.8
gmeow:name equivalence - owl:equivalentProperty foaf:name gmeow-properties.sssom.tsv; gmeow:eqProperties002; confidence 1
gmeow:name equivalence - owl:equivalentProperty schema:name gmeow-properties.sssom.tsv; gmeow:eqProperties001; confidence 1
gmeow:name equivalence - skos:closeMatch vcard:fn gmeow-properties.sssom.tsv; gmeow:eqProperties003; confidence 0.9
gmeow:Organization projection org projects to / <= org:FormalOrganization gmeow:mapOrgOrganization; confidence 0.9; lossy: the formal/informal distinction is asserted, not derived — GMEOW organizations project as formal
gmeow:Organization projection schema-org projects to / = schema:Corporation, schema:EducationalOrganization, schema:GovernmentOrganization, schema:NGO, schema:Organization, schema:Project gmeow:mapSchemaOrganizationType; transform gmeow:fnOrganizationTypeToClass
gmeow:Organization projection schema-org projects to / <= schema:dissolutionDate gmeow:mapSchemaDissolutionDate; confidence 0.9; lossy: the destruction event's place, participants, and standpoint are dropped; only the instant survives as schema:dissolutionDate
gmeow:Organization projection schema-org projects to / <= schema:foundingDate gmeow:mapSchemaFoundingDate; confidence 0.9; lossy: the creation event's place, participants, and standpoint are dropped; only the instant survives as schema:foundingDate
... ... ... ... ... 19 more rows

Guide

Entities — people, organizations, groups, and software agents

Slice: https://blackcatinformatics.ca/gmeow/slices/entities · tier: core The FOAF / schema.org superset layer: the agent sortals everything else describes.

This slice mints the concrete agent Kinds beneath the kernel's gmeow:Agent category — the things the mail corpus, the identity facets, and every people-describing slice talk about. The stance is deliberately thin: the sortals carry identity, while names, contact points, locations, documents, and trust assessments live in their own slices and attach to these Kinds. Where common vocabularies flatten a person into a bag of string fields, GMEOW keeps the flat tier honest (a simple name literal for entities that need nothing more) and routes everything with structure — person names above all — to the structured model, downcasting to "First Last" only in the projection layer (Principle 10: projection is where lossiness is allowed, never storage).

The module's one axiom block is doctrine made checkable (relator-mediation doctrine): distinct gufo:Kind classes each supply their own principle of identity, so the core ultimate Kinds are asserted pairwise disjoint — and only those whose disjointness is true.

The agent sortals

gmeow:Person

An individual human being, living or deceased. A gufo:Kind — the identity-supplying sortal that the names slice's PersonName, the identity facets, and the relationship relators all anchor to. Disjoint with Organization, SoftwareAgent, Location, ContactPoint, CryptographicKey, Appellation, Language, and WritingSystem.

gmeow:Organization

A structured group of agents able to act as a single agent — a company, institution, association, or governmental body. Sub-organization decomposition specializes the kernel's universal gmeow:partOf spine in its own slice; here only the Kind lives.

gmeow:Group

A collection of agents treated as a unit without the formal structure of an organization (gufo:Collection, under gmeow:Entity rather than gmeow:Agent). Deliberately excluded from the disjointness axiom: a structured organization is arguably a group, and asserting that overlap away would manufacture inconsistency (Principle 9).

gmeow:SoftwareAgent

A software process or autonomous program acting on behalf of a person or organization. Disjoint with Person — a human is never a bot — while delegation and attribution are provenance-layer relations, not subclassing.

The flat naming tier

gmeow:name

The rdfs:label tier: a simple, language-tagged label for entities that do not need the full naming apparatus (organizations, software agents, sources, keys). It carries no precedence over an entity's other names (Principle 9 — no privileged selector). Persons' names are gmeow:PersonName structures in the names slice; the flat given/family rendering is produced by downcasting that model at projection time, never stored here.

gmeow:description

The unstructured NOTE field — a biography, a remark, an annotation. Genuinely flat: unlike names, dates, or roles, a note has no structure to reify, so no relator pairing exists. Distinct from skos:definition, which documents ontology terms, not instances. Non-functional; language-tag where applicable.

gmeow:hasWebPage

The structured form of a "website / URL" field: the page is a first-class gmeow:WebPage (documents slice) whose IRI is its URL, so it can itself carry a title, language, and rights. Non-functional — an entity may have several pages. Prefer this over a bare URL literal: the bridge into the document layer is the point.

The disjointness doctrine (relator-mediation doctrine)

The owl:AllDisjointClasses axiom covers Person, Organization, SoftwareAgent, Location, ContactPoint, CryptographicKey, Appellation, Language, and WritingSystem — cross-module IRIs that resolve after merge. Deliberately excluded: Group (above) and the InformationObject document / message / source family, where a Source may legitimately also be a Document or CreativeWork. The rule is constitutional: add only disjointness that is TRUE; benign overlap must never become an inconsistency (Principle 9).

Alignment & boundaries

This is the layer that projects to FOAF (foaf:Person, foaf:Organization, foaf:Agent) and schema.org (schema:Person, schema:Organization) — by reference and lossy projection, never import (Principle 5). Entity resolution — deciding that two person records denote one human — is a solver-layer computation over the identity facets (Principle 12); the slice never asserts owl:sameAs shortcuts. Depends on kernel, names, contacts, places, documents, language, and trust; consumed by every slice that describes people, organizations, or things.