@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://www.ontologydesignpatterns.org/cp/owl/region.owl#isRegionFor> a owl:ObjectProperty;
  rdfs:label "is region for"@en;
  rdfs:comment "A relation between a region and an entity."@en;
  owl:inverseOf <http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion>;
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/region.owl#> .

<http://purl.org/spar/literal> a owl:Ontology;
  rdfs:label "Literal Reification pattern"@en;
  <http://purl.org/dc/elements/1.1/contributor> "Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)";
  <http://purl.org/dc/elements/1.1/creator> "Aldo Gangemi (https://orcid.org/0000-0001-5568-2684)",
    "Fabio Vitali (https://orcid.org/0000-0002-7562-5203)", "Silvio Peroni (https://orcid.org/0000-0003-0530-4305)";
  <http://purl.org/dc/elements/1.1/date> "2026-09-16";
  <http://purl.org/dc/elements/1.1/description> """
The **_Literal Reification pattern_** is an Ontology Design Pattern that addresses scenarios in which it is needed to bless particular literals, usually when applying data properties, in order to use them as subjects and/or full-fledged objects of semantic assertions.

![The main architecture of the Literal Reification pattern.](literal.png)

More specifically, this pattern promotes any literal as “first class object” in OWL by reifying it as a proper individual of the class `literal:Literal`.

## Examples of use

In the following subsections, we introduce some examples to showcase how to use the Literal Reification pattern. 

The prefixes that are used in all the examples provided below are defined as follows:

    @prefix : <http://www.sparontologies.net/example/> .
    @prefix literal: <http://www.essepuntato.it/2010/06/literalreification/> .
    @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
    @prefix dcterms: <http://purl.org/dc/terms/> .

### Making assertions on values

A reified literal can be enriched with metadata, such as provenance, which cannot be attached directly to plain RDF literals.

    :paper-title-en a literal:Literal ;
        literal:hasLiteralValue \"Literal Reification in OWL\"@en ;
        dcterms:creator <https://orcid.org/0000-0003-0530-4305> ;
        dcterms:issued \"2026-09-16\"^^xsd:date .

    :paper literal:hasLiteral :paper-title-en .

### Modelling domains concerning descriptive tags

Literal reification allows linking synonyms, shared values, or contextual tagging without duplicating string logic.
    
    :tag-ai a literal:Literal ;
        literal:hasLiteralValue \"Artificial Intelligence\" ;
        literal:hasSameLiteralValueAs :tag-ai-alias .

    :tag-ai-alias a literal:Literal ;
        literal:hasLiteralValue \"Artificial Intelligence\" .

    :paper-1 literal:hasLiteral :tag-ai .
    :paper-2 literal:hasLiteral :tag-ai-alias .

## Competency Questions

Literal Reification can be sed for answering several questions related to literals' context.

In the following subsections, some of them are introduced together with their respective SPARQL queries. 

The prefixes that are used in all the SPARQL queries provided below are defined as follows:

    PREFIX literal: <http://www.essepuntato.it/2010/06/literalreification/>
    PREFIX dcterms: <http://purl.org/dc/terms/>

### CQ1

What is the literal value associated with a given entity, along with the creator of that reified literal?

    SELECT ?entity ?value ?creator WHERE {
        ?entity literal:hasLiteral ?lit .
        ?lit literal:hasLiteralValue ?value ;
            dcterms:creator ?creator .
    }

### CQ2

Which distinct reified literals share the exact same literal value?

    SELECT ?lit1 ?lit2 ?value WHERE {
        ?lit1 literal:hasSameLiteralValueAs ?lit2 ;
              literal:hasLiteralValue ?value .
        FILTER(?lit1 != ?lit2)
    }

### CQ3

Which entities are annotated with a literal that has a specific value?

    SELECT ?entity WHERE {
        ?entity literal:hasLiteral ?lit .
        ?lit literal:hasLiteralValue \"Artificial Intelligence\" .
    }

"""@en;
  <http://purl.org/dc/elements/1.1/title> "The Literal Reification pattern";
  <http://purl.org/dc/terms/bibliographicCitation> "Gangemi, A., Peroni, S., & Vitali, F. (2010). Literal reification. Proceedings of WOP, 2010, 65-66. https://dl.acm.org/doi/abs/10.5555/2878924.2878933.";
  <http://purl.org/dc/terms/created> "2011-03-23";
  <http://purl.org/dc/terms/issued> "2011-03-23";
  <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by/4.0/>;
  <http://purl.org/dc/terms/modified> "2026-09-16";
  <http://purl.org/dc/terms/publisher> <https://ror.org/00wb4mk85>;
  <http://purl.org/dc/terms/source> <https://github.com/SPAROntologies/literal/blob/master/docs/cq.md>;
  <http://purl.org/ontology/bibo/doi> "https://doi.org/10.25504/FAIRsharing.d7f0a9";
  <http://purl.org/ontology/bibo/status> <http://purl.org/ontology/bibo/status/published>;
  <http://purl.org/vocab/vann/changes> """
* **v1.1.0**: 
Added new documentation, including annotation properties (e.g., `bibo:doi`, `schema:codeRepository`, etc.), term properties (e.g., `vann:example`, `vs:term_status`, etc.), exemplary competency questions with their respective SPARQL queries, and a Grafoo diagram.
Changed prefix from `litre:` to `literal:`.
    """@en;
  <http://purl.org/vocab/vann/preferredNamespacePrefix> "literal"@en;
  <http://purl.org/vocab/vann/preferredNamespaceUri> "http://purl.org/spar/literal"@en;
  rdfs:seeAlso <http://ontologydesignpatterns.org/index.php/Submissions:Literal_Reification>;
  owl:backwardCompatibleWith <http://www.essepuntato.it/2010/06/literalreification/2011-03-23>;
  owl:priorVersion <http://www.essepuntato.it/2010/06/literalreification/2011-03-23>;
  owl:versionIRI <http://www.essepuntato.it/2010/06/literalreification/2026-09-16>;
  owl:versionInfo "1.1.0";
  <http://xmlns.com/foaf/0.1/logo> <https://github.com/SPAROntologies/literal/blob/master/spar.png>;
  <https://schema.org/codeRepository> <https://github.com/SPAROntologies/literal>;
  <https://schema.org/image> <https://github.com/SPAROntologies/literal/blob/master/docs/current/literal.png>;
  <https://schema.org/includedInDataCatalog> <https://fairsharing.org/>;
  <https://schema.org/keywords> "literal values"@en, "ontology design patterns"@en;
  owl:imports <http://www.ontologydesignpatterns.org/cp/owl/region.owl> .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-A9E7C430F098E5C885C867B87D31D74A a <http://www.w3.org/2003/11/swrl#DatavaluedPropertyAtom>;
  <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl#x>;
  <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl#v>;
  <http://www.w3.org/2003/11/swrl#propertyPredicate> <http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue> .

<http://www.essepuntato.it/2010/06/literalreification/hasLiteral> a owl:ObjectProperty;
  rdfs:label "has literal"@en;
  rdfs:comment "The relation between something and a reified literal."@en;
  rdfs:range <http://www.essepuntato.it/2010/06/literalreification/Literal>;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion>;
  owl:inverseOf <http://www.essepuntato.it/2010/06/literalreification/isLiteralOf>;
  <http://purl.org/vocab/vann/example> """
    :my-resource
        literal:hasLiteral :my-literal .

    :my-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" .
    """;
  rdfs:isDefinedBy <http://purl.org/spar/literal/>;
  <http://www.w3.org/2003/06/sw-vocab-status/ns#term_status> <http://purl.org/linked-data/registry#statusStable> .

<http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region> a owl:Class;
  rdfs:label "region"@en;
  rdfs:comment "Any region in a dimensional space, which can be used as a value for a quality of an entity."@en;
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/region.owl#> .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-8F1CF461CAC8E0ABCC3296E09E56EDDE a <http://www.w3.org/2003/11/swrl#IndividualPropertyAtom>;
  <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl#x>;
  <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl#y>;
  <http://www.w3.org/2003/11/swrl#propertyPredicate> <http://www.essepuntato.it/2010/06/literalreification/hasSameLiteralValueAs> .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-35C4122F62060BA6AA15357444284C9C a <http://www.w3.org/2003/11/swrl#AtomList>;
  rdf:first _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-A9E7C430F098E5C885C867B87D31D74A;
  rdf:rest rdf:nil .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-37983344002FD84ACB72BF07E04F8878 a owl:Restriction;
  owl:cardinality "1"^^xsd:nonNegativeInteger;
  owl:onProperty <http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue> .

<http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion> a owl:ObjectProperty;
  rdfs:label "has region"@en;
  rdfs:comment "A relation between an entity and a region."@en;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region>;
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/region.owl#> .

<http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue> a owl:DatatypeProperty,
    owl:FunctionalProperty;
  rdfs:label "has literal value"@en;
  rdfs:comment "The literal value that a reified literal represents."@en;
  rdfs:domain <http://www.essepuntato.it/2010/06/literalreification/Literal>;
  rdfs:range rdfs:Literal;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegionDataValue>;
  <http://purl.org/vocab/vann/example> """
    :my-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" .
    """;
  rdfs:isDefinedBy <http://purl.org/spar/literal/>;
  <http://www.w3.org/2003/06/sw-vocab-status/ns#term_status> <http://purl.org/linked-data/registry#statusStable> .

<http://www.essepuntato.it/2010/06/literalreification/Literal> a owl:Class;
  rdfs:label "literal"@en;
  rdfs:comment "A reified literal."@en;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region>;
  owl:equivalentClass _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-37983344002FD84ACB72BF07E04F8878;
  <http://purl.org/vocab/vann/example> """
    :my-resource
        literal:hasLiteral :my-literal .

    :my-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" .
    """;
  rdfs:isDefinedBy <http://purl.org/spar/literal/>;
  <http://www.w3.org/2003/06/sw-vocab-status/ns#term_status> <http://purl.org/linked-data/registry#statusStable> .

<http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegionDataValue> a owl:DatatypeProperty;
  rdfs:label "has region data value"@en;
  rdfs:comment "The encoded value of a region."@en;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region>;
  rdfs:range rdfs:Literal;
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/region.owl#> .

<http://www.essepuntato.it/2010/06/literalreification/isLiteralOf> a owl:ObjectProperty;
  rdfs:label "is literal of"@en;
  rdfs:comment "The relation between a reified literal and some thing that is using it."@en;
  rdfs:domain <http://www.essepuntato.it/2010/06/literalreification/Literal>;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/region.owl#isRegionFor>;
  <http://purl.org/vocab/vann/example> """
    :my-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" ;
        literal:isLiteralOf :my-resource .
    """;
  rdfs:isDefinedBy <http://purl.org/spar/literal/>;
  <http://www.w3.org/2003/06/sw-vocab-status/ns#term_status> <http://purl.org/linked-data/registry#statusStable> .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-A2D1321A3C899DE074ABA45291ABB1F5 a <http://www.w3.org/2003/11/swrl#AtomList>;
  rdf:first _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-80A284C031AE243CF701076F0C5AC94B;
  rdf:rest rdf:nil .

<http://www.essepuntato.it/2010/06/literalreification/hasSameLiteralValueAs> a owl:ObjectProperty,
    owl:SymmetricProperty, owl:TransitiveProperty;
  rdfs:label "has same literal value as"@en;
  rdfs:comment "The relation between a reified literal and another one that has the same literal value."@en;
  rdfs:domain <http://www.essepuntato.it/2010/06/literalreification/Literal>;
  rdfs:range <http://www.essepuntato.it/2010/06/literalreification/Literal>;
  <http://purl.org/vocab/vann/example> """
    :my-resource
        literal:hasLiteral :my-literal .

    :my-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" ;
        literal:hasSameLiteralValueAs :my-other-literal .

    :my-other-literal a literal:Literal ;
        literal:hasLiteralValue \"My Resource\" .
    """;
  rdfs:isDefinedBy <http://purl.org/spar/literal/>;
  <http://www.w3.org/2003/06/sw-vocab-status/ns#term_status> <http://purl.org/linked-data/registry#statusStable> .

<http://purl.org/dc/elements/1.1/contributor> a owl:AnnotationProperty .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-80A284C031AE243CF701076F0C5AC94B a <http://www.w3.org/2003/11/swrl#DatavaluedPropertyAtom>;
  <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl#y>;
  <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl#v>;
  <http://www.w3.org/2003/11/swrl#propertyPredicate> <http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue> .

<http://purl.org/dc/elements/1.1/description> a owl:AnnotationProperty .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-A91DBB1A5DFC49E3065B5156E697A7AE a <http://www.w3.org/2003/11/swrl#Imp>;
  <http://www.w3.org/2003/11/swrl#body> _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-1E476F805524F71EA6AD412533E74253;
  <http://www.w3.org/2003/11/swrl#head> _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-35C4122F62060BA6AA15357444284C9C .

<http://purl.org/dc/elements/1.1/creator> a owl:AnnotationProperty .

<urn:swrl#x> a <http://www.w3.org/2003/11/swrl#Variable> .

<urn:swrl#y> a <http://www.w3.org/2003/11/swrl#Variable> .

_:genid-32bcfa2bb3d54030a1e0e8b5464777361622-1E476F805524F71EA6AD412533E74253 a <http://www.w3.org/2003/11/swrl#AtomList>;
  rdf:first _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-8F1CF461CAC8E0ABCC3296E09E56EDDE;
  rdf:rest _:genid-32bcfa2bb3d54030a1e0e8b5464777361622-A2D1321A3C899DE074ABA45291ABB1F5 .

<http://purl.org/dc/elements/1.1/title> a owl:AnnotationProperty .

<http://purl.org/dc/elements/1.1/date> a owl:AnnotationProperty .

<urn:swrl#v> a <http://www.w3.org/2003/11/swrl#Variable> .

rdfs:comment a owl:AnnotationProperty .

rdfs:label a owl:AnnotationProperty .
