has contact point
- CURIE:
gmeow:hasContactPoint - IRI: https://blackcatinformatics.ca/gmeow/hasContactPoint
- Category: property
- Defined by:
gmeow:slices/contacts - Box roles: RBox role (What is this?)
Relates an agent to a means of contacting it.
Structure
Property shape: object property; gmeow:Agent -> gmeow:ContactPoint
Practical Pattern
Use gmeow:hasContactPoint from gmeow:Agent to gmeow:ContactPoint when the relationship itself belongs in the native GMEOW graph.
Example Snippets
These snippets are generated from canonical slice examples and trimmed to the Turtle blocks where this term appears.
Contact Points
- Source:
slices/core/contacts/examples/contact-points.ttl - Examples catalog: open in catalog#example-slices-core-contacts-examples-contact-points
# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: contact details are flat-first, reified on demand ( P4).
# A bare gmeow:email / gmeow:telephone on the agent covers the common case. When
# a contact point carries a TYPE (work vs personal), a PROVIDER, structured parts
# or a postal frame, it is promoted to a reified gmeow:ContactPoint reached via
# gmeow:hasContactPoint. A gmeow:PostalAddress is expressed in an explicit postal/
# administrative REFERENCE FRAME (P11): its street/locality/region components are
# coordinate values along that frame's axes — the as-written surface form, kept
# distinct from the resolved geographic Place (gmeow:addressPlace).
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/contacts/> .
ex:dana a gmeow:Person ;
gmeow:name "Dana Reyes"@en ;
gmeow:email "dana@example.org" ; # flat shortcut — the common case
gmeow:telephone "+1-555-0142" ; # flat shortcut
gmeow:hasContactPoint ex:workEmail , ex:homeAddress .
Common Companion Terms
gmeow:Agent, gmeow:ContactPoint
Projects To
| Profile | External Targets |
|---|---|
foaf |
foaf |
schema-org |
rdf, schema |
sioc |
sioc |
vcard |
rdf, vcard |
External Equivalences
Equivalent or closely aligned targets: schema
Linkages
Generated from the canonical mapping DSL. SSSOM files are the generated public interchange form for term equivalences.
Term Equivalences
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:hasContactPoint |
equivalence | - |
owl:equivalentProperty | schema:contactPoint | gmeow-properties.sssom.tsv; gmeow:eqProperties009; confidence 0.9 |
Projection Coverage
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:hasContactPoint |
projection | foaf |
projects to / <= | foaf:mbox | gmeow:mapFoafMbox; confidence 0.9; lossy: contact-point usage context and validity drop; the bare mbox edge survives |
gmeow:hasContactPoint |
projection | schema-org |
projects to / <= | rdf:type, schema:PostalAddress, schema:address, schema:addressCountry, schema:addressLocality, schema:addressRegion, schema:postalCode, schema:streetAddress | gmeow:mapSchemaAddress; lossy: the postal reference frame (axes, topological kind, metric) is dropped; only the flat schema:PostalAddress component values survive |
gmeow:hasContactPoint |
projection | sioc |
projects to / <= | sioc:has_creator | gmeow:mapSiocHasCreator; confidence 0.8; lossy: the address-vs-agent distinction collapses: the contact-point holder is read as the creator |
gmeow:hasContactPoint |
projection | vcard |
projects to / = | rdf:type, vcard:Address, vcard:country-name, vcard:hasAddress, vcard:label, vcard:locality, vcard:postal-code, vcard:region, vcard:street-address | gmeow:mapVcardAddress; lossy: the postal reference frame (axes, topological kind, metric) is dropped; only the flat vcard:Address component values and composed label survive; transform gmeow:fnComposeAddress |
gmeow:hasContactPoint |
projection | vcard |
projects to / <= | vcard:hasEmail | gmeow:mapVcardHasEmail; confidence 0.9; lossy: contact-point usage context and validity drop; the bare email edge survives |
gmeow:hasContactPoint |
projection | vcard |
projects to / <= | vcard:hasInstantMessage | gmeow:mapVcardHasInstantMessage; confidence 0.9; lossy: contact-point usage context and validity drop; the bare IM edge survives |
gmeow:hasContactPoint |
projection | vcard |
projects to / <= | vcard:hasTelephone | gmeow:mapVcardHasTelephone; confidence 0.9; lossy: contact-point usage context and validity drop; the bare telephone edge survives |
Usage Advice
Use when
- Use to attach a first-class contact point (email, telephone, postal address) to the agent that owns it, when the channel carries its own role, provider, structure, or tenure.
Avoid when
- Avoid it when a bare string suffices (use
gmeow:emailorgmeow:telephone) and avoid using it for ownership of an online account (that is the accounts slice).
How to use
- Link the agent to each
gmeow:ContactPoint; the sensitivity on the contact point governs whether the projection layer emits it for a given consumer.
Examples
- ex:lillith
gmeow:hasContactPointex:lillithEmail.