has name part
- CURIE:
gmeow:hasNamePart - IRI: https://blackcatinformatics.ca/gmeow/hasNamePart
- Category: property
- Defined by:
gmeow:slices/names - Box roles: RBox role (What is this?)
Relates an appellation to one of its reified, typed parts. Non-functional — a name has many parts. A specialized information-object component relation under the universal gmeow:hasPart spine.
Structure
Property shape: object property; gmeow:Appellation -> gmeow:NamePart
Sub-property of: gmeow:hasPart
Practical Pattern
Use gmeow:hasNamePart from gmeow:Appellation to gmeow:NamePart 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.
Person Names
- Source:
slices/core/names/examples/person-names.ttl - Examples catalog: open in catalog#example-slices-core-names-examples-person-names
# --- The chosen legal name, decomposed into ordered parts (displayable).
ex:nameChosen a gmeow:PersonName ;
gmeow:fullName "Robin Avery Chen"@en ;
gmeow:namePurpose gmeow:namePurposeChosen ;
gmeow:displayable true ;
gmeow:hasNamePart ex:partGiven , ex:partMiddle , ex:partSurname .
Common Companion Terms
gmeow:hasPart, gmeow:Appellation, gmeow:NamePart
Projects To
| Profile | External Targets |
|---|---|
foaf |
foaf |
schema-org |
schema |
vcard |
rdf, vcard |
External Equivalences
Equivalent or closely aligned targets: gx
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:hasNamePart |
equivalence | - |
skos:closeMatch | gx:nameForm | gmeow-names.sssom.tsv; gmeow:eqNames006; confidence 0.6 |
Projection Coverage
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:hasNamePart |
projection | foaf |
projects to / <= | foaf:familyName | gmeow:mapFoafFamilyName; lossy: non-displayable names (deadnames) dropped |
gmeow:hasNamePart |
projection | foaf |
projects to / <= | foaf:givenName | gmeow:mapFoafGivenName; lossy: non-displayable names (deadnames) dropped |
gmeow:hasNamePart |
projection | schema-org |
projects to / <= | schema:familyName | gmeow:mapSchemaFamilyName |
gmeow:hasNamePart |
projection | schema-org |
projects to / <= | schema:givenName | gmeow:mapSchemaGivenName |
gmeow:hasNamePart |
projection | vcard |
projects to / = | rdf:type, vcard:Name, vcard:family-name, vcard:hasName | gmeow:mapVcardFamilyName |
gmeow:hasNamePart |
projection | vcard |
projects to / = | rdf:type, vcard:Name, vcard:given-name, vcard:hasName | gmeow:mapVcardGivenName |
Usage Advice
Use when
- Use to attach the reified, typed components of an appellation when parts must be matched, expanded, or rendered separately — the names-scoped specialization of the universal
gmeow:hasPartspine.
Avoid when
- Avoid the generic
gmeow:hasPartfor name decomposition (asserthasNamePartand let it follow) and avoid splitting a name into parts purely to reconstruct a display order —gmeow:fullNameis authoritative for that.
How to use
- Assert one
hasNameParttriple pergmeow:NamePart(non-functional), each carryinggmeow:namePartType,gmeow:partText, andgmeow:partOrder.
Examples
- ex:patrickName
gmeow:hasNamePartex:patrickGiven, ex:audleySurname.