=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== https://ceur-ws.org/Vol-671/pat04.pdf
                                               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