=Paper=
{{Paper
|id=None
|storemode=property
|title=Literal Reification
|pdfUrl=https://ceur-ws.org/Vol-671/pat04.pdf
|volume=Vol-671
|dblpUrl=https://dblp.org/rec/conf/semweb/GangemiPV10
}}
==Literal Reification==
Literal Reification
http://ontologydesignpatterns.org/wiki/Submissions:Literal_Reification
Aldo Gangemi Silvio Peroni Fabio Vitali
ISTC-CNR University of Bologna University of Bologna
aldo.gangemi@cnr.it speroni@cs.unibo.it fabio@cs.unibo.it
ABSTRACT reifying it as a proper individual of the class litre:Literal. In-
In this paper we introduce the pattern literal reification, a dividuals of this class express literal values through the func-
modelling technique to address scenarios, in which we need tional data property litre:hasLiteralValue and can be con-
to bless particular literals, usually when applying data prop- nected to other individuals that share the same literal value
erties, in order to use them as subjects and/or full-fledged by using the property litre:hasSameLiteralValueAs. More-
objects of semantic assertions. over, a literal may refer to, and may be referred by any
OWL individual through litre:isLiteralOf and litre:hasLiteral
respectively.
Keywords Note that the pattern defines also a SWRL rule that al-
OWL, SWRL, literal reification lows to infer the (not explicitly asserted) literal value of a
particular literal individual when it is connected to another
literal individual via litre:hasSameLiteralValueAs:
1. INTRODUCTION litre : h a s S a m e L i t e r a l V a l u e A s (x , y ) ,
Recently within the Semantic Web community a new topic litre : hasL iter alVa lue (y , v )
has been actively discussed: whether and how to allow lit- -> litre : ha sLit eral Val ue (x , v )
erals to be subjects of RDF statements1 . This discussions
failed to provide a unique and clear indication of how to This pattern allows to use each reified literal as subject or
proceed in that regard. object of any assertion, and it is able to address scenarios
Although one of the suggestions coming out of the dis- described, for example, by the following competency ques-
cussion was to explicitly include the proposal in a (future) tions:
specification of RDF, this topic is not actually new, partic- • What is the context in which entities refer to a partic-
ularly in ontology modelling. The needs to describe “typi- ular literal value?
cal” literals (specially strings) as individuals of a particular
class has been addressed by a lot of models in past, such as • What is the meaning of a particular value considering
Common Tag2 (through the class Tag), SIOC3 (through the the context in which it is used?
classes Category and Tag), SKOS-XL4 (through the class
Label), and LMM5 (through the class Expression). After Plausible scenarios of its application include:
considering the above-mentioned models and other related
and inspiring ones, we have developed a pattern called literal • modelling domains concerning descriptive tags, in which
reification to address this issue. It allows to express literal each tag may have more than one meaning depending
values as proper ontological individuals so as to use them as on the context in which it is used;
subject/object of any assertion within OWL models.
• extending quickly the capabilities of a model by adding
The rest of the paper follows this structure: in Section 2
the possibility to make assertions on values, previously
and Section 3 we respectively introduce a high level and de-
referred through data properties, without modifying it.
tailed description of the pattern; in Section 4 we discuss two
particular application scenarios that we use to demonstrate
all the capabilities of the pattern. 3. ELEMENTS
As shown in Fig. 1, the pattern literal reification is com-
posed by a class, a data property and three object properties,
2. GENERAL DESCRIPTION described as follows:
Extending the pattern region6 , the pattern literal reifica-
tion promotes any literal as “first class object” in OWL by • Class litre:Literal. It describes reified literals, where
the literal value they represent is speficied through the
1
http://www.w3.org/2001/sw/wiki/Literals as Subjects. property litre:hasLiteralValue. Each individual of this
2
http://www.commontag.org class must always have a specified value.
3
http://rdfs.org/sioc/spec
4
http://www.w3.org/TR/skos-reference/#xl • Data property litre:hasLiteralValue. It is used to spec-
5
http://www.ontologydesignpatterns.org/ont/lmm/LMM L1.owl ify the literal value that an individual of litre:Literal
6
http://ontologydesignpatterns.org/wiki/Submissions:Region represents.
• Object property litre:hasSameLiteralValueAs. It re- < http :// en . wikipedia . org / wiki / Eiffel_Tower >
lates the reified literal to another one that has the same a foaf : Document
literal value. ; prism : keyword : parisTag1 .
• Object property litre:hasLiteral. It connects individu- < http :// en . wikipedia . org / wiki / Paris_Hilton >
a foaf : Document
als of any class to a reified literal. ; prism : keyword : parisTag2 .
• Object property litre:isLiteralOf. It connects the rei- : parisTag1 a litre : Literal
fied literal to the individuals that are using it. , [ a skos : Concept
; skos : definition " A name associated
to a city " @en ]
; litre : ha sLit eral Valu e " Paris "
; lmm : denotes dbpedia : Paris .
: parisTag2 a litre : Literal
, [ a skos : Concept
; skos : definition " A first name of
a person " @en ]
; litre : h a s S a m e L i t e r a l V a l u e O f : parisTag1
; lmm : denotes dbpedia : Paris_Hilton .
4.2 Keeping track of name changes
NameHistory3.0 is a (fictional) institution that keeps track
of all the names of people, and stores them as an ABox of the
FOAF ontology. In particular, each person is stored as an
individual of the class foaf:Person with a specific first name
(data property foaf:givenName) and family name (data prop-
erty foaf:familyName).
On 24/09/2010, Bruce Wayne formally applied for chang-
ing his first name to Jack. Since NameHistory3.0 has to keep
track of everything concerning names of people, on that date
“Jack” was added as Mr. Wayne’s first name. It was then
that NameHistory3.0 noticed that, without any additional
information, it is not possible to know which of the two first
names are legally valid at any given point in time.
A solution to that scenario, which avoids any modifica-
tion of the ontology model and consequently of the entire
triple store (operation that is obviously time-consuming and
Figure 1: A figure summarizing the pattern. error-prone), is to use the literal reification pattern in com-
bination with the new expressivity for punning in OWL 2.
Through them, it is possible to define a literal individual as
also belonging to the class foaf:givenName – that is actually
4. SCENARIOS defined as a data property, but may be additionally be meta-
modelled as a class. We can now associate a particular time
4.1 Same tag, different meanings interval to each literal, so as to represent when the literal
Used frequently in the Web 2.0, descriptive tags such as itself, i.e., the given name, is legally valid8 :
the ones used in folksonomies are keywords (e.g., strings) : mr_wayne a foaf : Person
assigned to a particular resource, such as a web document, ; foaf : familyName " Wayne "
with the intent to describe it. Just like words in any natural ; litre : hasLiteral
language, tags may have different meanings depending on [ a litre : Literal , foaf : givenName
the context in which they are used. ; litre : has Lit eral Valu e " Bruce "
For instance, the word “Paris” may be either a name of a ; dcterms : valid
[ a ti : TimeInterval
city or a first name of a person. Here, it is clear that the ; ti : h a s I n t e r v a l S t a r t D a t e
act of tagging with “Paris” both the Wikipedia pages about "1983 -01 -15"
the Eiffel Tower and the one about Paris Hilton hides two ; ti : h a s I n t e r v a l E n d D a t e
different intents: in the former case, “Paris” denotes the city "2010 -09 -24"] ]
in which the tower stands; in the latter case, “Paris” denotes ; litre : hasLiteral
a particular person, i.e., Paris Hilton. [ a litre : Literal , foaf : givenName
; litre : has Lit eral Valu e " Jack "
Using the literal reification pattern it is possible to express ; dcterms : valid
descriptive tags as first class objects in OWL, by considering [ a ti : TimeInterval
them as proper individuals of the class litre:Literal. Different ; ti : h a s I n t e r v a l S t a r t D a t e
individuals may thus represent different meanings even if "2010 -09 -24" ] ] .
their literal values are identical7 :
7 8
http://www.essepuntato.it/2010/06/sc1.ttl http://www.essepuntato.it/2010/06/sc2.ttl