<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
   xmlns:bibo="http://purl.org/ontology/bibo/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:schema="https://schema.org/"
   xmlns:swrl="http://www.w3.org/2003/11/swrl#"
   xmlns:vann="http://purl.org/vocab/vann/"
   xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#"
>
  <rdf:Description rdf:about="http://www.ontologydesignpatterns.org/cp/owl/region.owl#isRegionFor">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:label xml:lang="en">is region for</rdfs:label>
    <rdfs:comment xml:lang="en">A relation between a region and an entity.</rdfs:comment>
    <owl:inverseOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion"/>
    <rdfs:isDefinedBy rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/spar/literal">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
    <rdfs:label xml:lang="en">Literal Reification pattern</rdfs:label>
    <dc:contributor rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)</dc:contributor>
    <dc:creator rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Aldo Gangemi (https://orcid.org/0000-0001-5568-2684)</dc:creator>
    <dc:creator rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Fabio Vitali (https://orcid.org/0000-0002-7562-5203)</dc:creator>
    <dc:creator rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Silvio Peroni (https://orcid.org/0000-0003-0530-4305)</dc:creator>
    <dc:date>2026-09-16</dc:date>
    <dc:description xml:lang="en">
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 : &lt;http://www.sparontologies.net/example/&gt; .
    @prefix literal: &lt;http://www.essepuntato.it/2010/06/literalreification/&gt; .
    @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; .
    @prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
    @prefix dcterms: &lt;http://purl.org/dc/terms/&gt; .

### 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 &lt;https://orcid.org/0000-0003-0530-4305&gt; ;
        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: &lt;http://www.essepuntato.it/2010/06/literalreification/&gt;
    PREFIX dcterms: &lt;http://purl.org/dc/terms/&gt;

### 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" .
    }

</dc:description>
    <dc:title>The Literal Reification pattern</dc:title>
    <dcterms:bibliographicCitation>Gangemi, A., Peroni, S., &amp; Vitali, F. (2010). Literal reification. Proceedings of WOP, 2010, 65-66. https://dl.acm.org/doi/abs/10.5555/2878924.2878933.</dcterms:bibliographicCitation>
    <dcterms:created>2011-03-23</dcterms:created>
    <dcterms:issued>2011-03-23</dcterms:issued>
    <dcterms:license rdf:resource="http://creativecommons.org/licenses/by/4.0/"/>
    <dcterms:modified>2026-09-16</dcterms:modified>
    <dcterms:publisher rdf:resource="https://ror.org/00wb4mk85"/>
    <dcterms:source rdf:resource="https://github.com/SPAROntologies/literal/blob/master/docs/cq.md"/>
    <bibo:doi>https://doi.org/10.25504/FAIRsharing.d7f0a9</bibo:doi>
    <bibo:status rdf:resource="http://purl.org/ontology/bibo/status/published"/>
    <vann:changes xml:lang="en">
* **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:`.
    </vann:changes>
    <vann:preferredNamespacePrefix xml:lang="en">literal</vann:preferredNamespacePrefix>
    <vann:preferredNamespaceUri xml:lang="en">http://purl.org/spar/literal</vann:preferredNamespaceUri>
    <rdfs:seeAlso rdf:resource="http://ontologydesignpatterns.org/index.php/Submissions:Literal_Reification"/>
    <owl:backwardCompatibleWith rdf:resource="http://www.essepuntato.it/2010/06/literalreification/2011-03-23"/>
    <owl:priorVersion rdf:resource="http://www.essepuntato.it/2010/06/literalreification/2011-03-23"/>
    <owl:versionIRI rdf:resource="http://www.essepuntato.it/2010/06/literalreification/2026-09-16"/>
    <owl:versionInfo>1.1.0</owl:versionInfo>
    <foaf:logo rdf:resource="https://github.com/SPAROntologies/literal/blob/master/spar.png"/>
    <schema:codeRepository rdf:resource="https://github.com/SPAROntologies/literal"/>
    <schema:image rdf:resource="https://github.com/SPAROntologies/literal/blob/master/docs/current/literal.png"/>
    <schema:includedInDataCatalog rdf:resource="https://fairsharing.org/"/>
    <schema:keywords xml:lang="en">literal values</schema:keywords>
    <schema:keywords xml:lang="en">ontology design patterns</schema:keywords>
    <owl:imports rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b8">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#DatavaluedPropertyAtom"/>
    <swrl:argument1 rdf:resource="urn:swrl#x"/>
    <swrl:argument2 rdf:resource="urn:swrl#v"/>
    <swrl:propertyPredicate rdf:resource="http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.essepuntato.it/2010/06/literalreification/hasLiteral">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:label xml:lang="en">has literal</rdfs:label>
    <rdfs:comment xml:lang="en">The relation between something and a reified literal.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.essepuntato.it/2010/06/literalreification/Literal"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion"/>
    <owl:inverseOf rdf:resource="http://www.essepuntato.it/2010/06/literalreification/isLiteralOf"/>
    <vann:example>
    :my-resource
        literal:hasLiteral :my-literal .

    :my-literal a literal:Literal ;
        literal:hasLiteralValue "My Resource" .
    </vann:example>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/spar/literal/"/>
    <vs:term_status rdf:resource="http://purl.org/linked-data/registry#statusStable"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <rdfs:label xml:lang="en">region</rdfs:label>
    <rdfs:comment xml:lang="en">Any region in a dimensional space, which can be used as a value for a quality of an entity.</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b4">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#IndividualPropertyAtom"/>
    <swrl:argument1 rdf:resource="urn:swrl#x"/>
    <swrl:argument2 rdf:resource="urn:swrl#y"/>
    <swrl:propertyPredicate rdf:resource="http://www.essepuntato.it/2010/06/literalreification/hasSameLiteralValueAs"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b7">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#AtomList"/>
    <rdf:first rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b8"/>
    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b1">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
    <owl:onProperty rdf:resource="http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegion">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:label xml:lang="en">has region</rdfs:label>
    <rdfs:comment xml:lang="en">A relation between an entity and a region.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region"/>
    <rdfs:isDefinedBy rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:label xml:lang="en">has literal value</rdfs:label>
    <rdfs:comment xml:lang="en">The literal value that a reified literal represents.</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.essepuntato.it/2010/06/literalreification/Literal"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegionDataValue"/>
    <vann:example>
    :my-literal a literal:Literal ;
        literal:hasLiteralValue "My Resource" .
    </vann:example>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/spar/literal/"/>
    <vs:term_status rdf:resource="http://purl.org/linked-data/registry#statusStable"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.essepuntato.it/2010/06/literalreification/Literal">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <rdfs:label xml:lang="en">literal</rdfs:label>
    <rdfs:comment xml:lang="en">A reified literal.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region"/>
    <owl:equivalentClass rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b1"/>
    <vann:example>
    :my-resource
        literal:hasLiteral :my-literal .

    :my-literal a literal:Literal ;
        literal:hasLiteralValue "My Resource" .
    </vann:example>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/spar/literal/"/>
    <vs:term_status rdf:resource="http://purl.org/linked-data/registry#statusStable"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.ontologydesignpatterns.org/cp/owl/region.owl#hasRegionDataValue">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:label xml:lang="en">has region data value</rdfs:label>
    <rdfs:comment xml:lang="en">The encoded value of a region.</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#Region"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
    <rdfs:isDefinedBy rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.essepuntato.it/2010/06/literalreification/isLiteralOf">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:label xml:lang="en">is literal of</rdfs:label>
    <rdfs:comment xml:lang="en">The relation between a reified literal and some thing that is using it.</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.essepuntato.it/2010/06/literalreification/Literal"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/region.owl#isRegionFor"/>
    <vann:example>
    :my-literal a literal:Literal ;
        literal:hasLiteralValue "My Resource" ;
        literal:isLiteralOf :my-resource .
    </vann:example>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/spar/literal/"/>
    <vs:term_status rdf:resource="http://purl.org/linked-data/registry#statusStable"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b5">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#AtomList"/>
    <rdf:first rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b6"/>
    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.essepuntato.it/2010/06/literalreification/hasSameLiteralValueAs">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
    <rdfs:label xml:lang="en">has same literal value as</rdfs:label>
    <rdfs:comment xml:lang="en">The relation between a reified literal and another one that has the same literal value.</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.essepuntato.it/2010/06/literalreification/Literal"/>
    <rdfs:range rdf:resource="http://www.essepuntato.it/2010/06/literalreification/Literal"/>
    <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" .
    </vann:example>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/spar/literal/"/>
    <vs:term_status rdf:resource="http://purl.org/linked-data/registry#statusStable"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/contributor">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b6">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#DatavaluedPropertyAtom"/>
    <swrl:argument1 rdf:resource="urn:swrl#y"/>
    <swrl:argument2 rdf:resource="urn:swrl#v"/>
    <swrl:propertyPredicate rdf:resource="http://www.essepuntato.it/2010/06/literalreification/hasLiteralValue"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/description">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b2">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#Imp"/>
    <swrl:body rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b3"/>
    <swrl:head rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b7"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/creator">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="urn:swrl#x">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
  </rdf:Description>
  <rdf:Description rdf:about="urn:swrl#y">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b3">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#AtomList"/>
    <rdf:first rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b4"/>
    <rdf:rest rdf:nodeID="n4d13db1d48194cbd892e2fb762ca7de0b5"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/title">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/elements/1.1/date">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="urn:swrl#v">
    <rdf:type rdf:resource="http://www.w3.org/2003/11/swrl#Variable"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.w3.org/2000/01/rdf-schema#comment">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.w3.org/2000/01/rdf-schema#label">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </rdf:Description>
</rdf:RDF>
