Tag
- CURIE:
gmeow:Tag - IRI: https://blackcatinformatics.ca/gmeow/Tag
- Category: class
- Defined by:
gmeow:slices/tags - Box roles: TBox role (What is this?)
An open, user-minted tag — an information object whose identity is its IRI and whose surface form is carried by rdfs:label. Synonyms are multiple labels; homonyms are different IRIs. Coreference is done in data, never by collapsing into one. A tag is NOT a type (it carries no inferential weight over rdf:type) and NOT a property bag — no datatype value property is asserted on it. Part of the universal tagging building block that keeps folksonomy, aboutness and typing as three orthogonal axes.
Structure
Subclass of: gmeow:InformationObject
Practical Pattern
Use gmeow:Tag as a specialized kind of gmeow:InformationObject. Add statement metadata or a standpoint when the assertion needs provenance, confidence, or vantage.
Example Snippets
These snippets are generated from canonical slice examples and trimmed to the Turtle blocks where this term appears.
Folksonomy
- Source:
slices/core/tags/examples/folksonomy.ttl - Examples catalog: open in catalog#example-slices-core-tags-examples-folksonomy
# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: tagging is flat-first, reified on demand ( P4). A bare
# gmeow:hasTag covers "this is tagged X". Tags themselves form a SKOS-style poly-
# hierarchy (gmeow:broaderTag / gmeow:narrowerTag / gmeow:relatedTag) inside a
# gmeow:TagScheme. When the PROVENANCE of a tagging matters — who applied it, in
# which scheme — it is promoted to a reified gmeow:Tagging relator binding tagger
# × tagged × tag × scheme, so a contested or machine-applied tag is auditable.
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/tags/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
# --- A scheme and a small tag hierarchy within it.
ex:scheme a gmeow:TagScheme ; rdfs:label "Research topic keywords"@en .
Named Profile Membership
- Source:
slices/core/profiles/examples/named-profile-membership.ttl - Examples catalog: open in catalog#example-slices-core-profiles-examples-named-profile-membership
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/profiles/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example — the Profile meta-pattern in use: a closed descriptor schema
# over an open value vocabulary, and an instance that claims conformance to it.
#
# A consumer declares a self-describing facet for a TAGGING (the reified
# tagger × tagged × tag × scheme relator) WITHOUT minting per-tag subclasses.
# It mints one gmeow:Profile that names (a) the class it applies to (the existing
# gmeow:Tagging), (b) the descriptor properties that constitute the facet, and
# (c) the open value vocabulary those descriptors draw from (the existing
# gmeow:Tag, whose members are individuals, never subclasses — P9). Extension
# happens by adding Tag INDIVIDUALS — each referenced as the value of the
# gmeow:taggingTag descriptor — never by altering the closed descriptor set. A
# concrete Tagging points at the Profile with gmeow:hasProfile, so a consumer
# holding only the data can dereference the Profile and learn the complete
# schema — the self-description that makes "extensible by construction" a
# structure, not a slogan. The example mints no classes of its own (it reuses
# gmeow:Tagging / gmeow:Tag / gmeow:TagScheme), and asserts no Expression-typed
# value, so no P11 frame is required.
# --- The Profile: a closed descriptor schema for a tagging. It SELF-DESCRIBES —
# naming the class it governs (profileAppliesTo gmeow:Tagging), the
# descriptor properties (profileDescriptor), and the open value class
# (profileOpenValue gmeow:Tag) — so tooling reads the graph, not code. A
# Profile MUST carry a skos:definition.
ex:profileTagging a gmeow:Profile ;
rdfs:label "Tagging Profile"@en ;
skos:definition "The closed descriptor schema for a reified tagging: the entity tagged, the tag applied (drawn from the open gmeow:Tag vocabulary), the agent who applied it, and the scheme it belongs to. New tags extend the facet as data added to the open value class, with this descriptor set unchanged."@en ;
gmeow:profileAppliesTo gmeow:Tagging ;
gmeow:profileDescriptor
gmeow:taggingTagged ,
gmeow:taggingTag ,
gmeow:taggingTagger ,
gmeow:taggingScheme ;
gmeow:profileOpenValue gmeow:Tag .
Common Companion Terms
Projects To
| Profile | External Targets |
|---|---|
skos |
rdf, skos |
External Equivalences
Equivalent or closely aligned targets: moat, schema, skos
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:Tag |
equivalence | - |
skos:closeMatch | moat:Tag | gmeow-tags.sssom.tsv; gmeow:eqTags016; confidence 0.8 |
gmeow:Tag |
equivalence | - |
skos:closeMatch | schema:DefinedTerm | gmeow-tags.sssom.tsv; gmeow:eqTags006; confidence 0.9 |
gmeow:Tag |
equivalence | - |
skos:exactMatch | skos:Concept | gmeow-tags.sssom.tsv; gmeow:eqTags001; confidence 0.95 |
Projection Coverage
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:Tag |
projection | skos |
projects to / = | rdf:type, skos:Concept, skos:broader, skos:inScheme, skos:prefLabel | gmeow:mapSkosConcept; lossy: the Tagging relator's provenance/confidence/scope and the open value-vocabulary of tag relations beyond broader/narrower are not expressible in SKOS |
Usage Advice
Use when
- Use to mint an informal, user-applied label whose identity is its IRI — a folksonomy keyword that classifies entities without the inferential weight of a type or the subject-matter commitment of aboutness.
Avoid when
- Avoid when the label should change what an entity IS (use rdf:type and a real sortal) or record what a resource is ABOUT (use
gmeow:isAbout); a tag is a co-equal label, never a type or a subject relation.
How to use
- Mint the tag as an individual, carry its surface form on rdfs:label (multiple labels for synonyms, distinct IRIs for homonyms), and attach it with
gmeow:hasTag; resolve coreference in data rather than collapsing two tags with owl:sameAs.
Examples
- ex:tagUrgent a
gmeow:Tag; rdfs:label "urgent"@en.
Published Alignment Graph
Alignments
| Relation | Target |
|---|---|
closeMatch | moat:Tag |
closeMatch | schema:DefinedTerm |
exactMatch | skos:Concept |