Contextualizing DL axioms: Formalization, a New Approach, and its Properties Antoine Zimmermann1 and José M. Giménez-Garcı́a2 1 Univ Lyon, MINES Saint-Étienne, CNRS, Laboratoire Hubert Curien UMR 5516, F-42023 Saint-Étienne, France antoine.zimmermann@emse.fr 2 Université de Lyon, CNRS, UMR 5516, Laboratoire Hubert-Curien, Saint-Étienne, France jose.gimenez.garcia@univ-st-etienne.fr Abstract. We address the problem of providing contextual information about a logical formula (e.g., provenance, date of validity, or confidence) and representing it within a logical system. In this case, it is needed to rely on a higher order or non standard formalism, or some kind of reifi- cation mechanism. We explore the case of reification and formalize the concept of contextualizing logical statements in the case of Description Logics. Then, we define several properties of contextualization that are desirable. No previous approaches satisfy all of the them. Consequently, we define a new way of contextually annotating statements. It is inspired by NdFluents, which is itself an extension of the 4dFluents approach for annotating statements with temporal context. In NdFluents, instances that are involved in a contextual statement are sliced into contextual parts, such that only parts in the same context hold relations to one another, with the goal of better preserving inferences. We generalize this idea by defining contextual parts of relations and classes. This formal construction better satisfies the properties, although not entirely. We show that it is a particular case of a general mechanism that NdFluents also instantiates, and present other variations. Keywords: Annotations, Contexts, Metadata, Ontologies, Description Logic, Semantic Web, Reasoning, Reification 1 Introduction The problem of being able to reason not only with logical formulas, but also about said formulas, is an old one in artificial intelligence. McCarthy [1] proposed to extend first order logic by reifying context and formulas to introduce a binary predicate ist(φ, c) satisfied if the formula φ is true (ist) in the context c. However, a complete axiomatization and calculus for McCarthy’s contextual logic has never been formalized. Giunchiglia [2] proposed the grouping of “local” formulas in contexts, and then using other kinds of formulas to characterize how knowledge from multiple contexts is compatible. This idea of locality+compatibility [3] has led to several non standard formalisms for reasoning with multiple contexts [4]. Alternatively, the approach of annotated logic programming [5] considers that a contextual annotation is just a value in an algebraic structure (e.g., a number or a temporal interval). This idea was later applied to annotated RDF and RDFS [6, 7]. The representation of statement annotation has sometimes being thought of as a data model problem without consideration of the logical formalism behind. In particular, several proposals to extend the RDF data model in various ways for allowing annotations have been made: named graphs [8], RDF+ [9], RDF* [10], Yago Model [11]. However, the underlying data structures have not a clear formal semantics. Therefore, some authors advocate another approach to representing annotation of knowledge: reify the statement or its context and describe it within the formalism of the statement. This requires modifying the statement so as to integrate knowledge of the context or statement. Examples of such techniques are reification [12], N-Ary Relations [13], Singleton Property [14]), and NdFlu- ents [15]. This paper provides an abstraction of the reification techniques in the context of Description Logics (DLs) in the form of what we call contextualization functions. Additionally, we introduce a new technique for the representation of contextual annotations that satisfies better some desirable properties. After introducing our notations for DLs in Sec. 2, we provide formal defi- nitions that allow us to define verifiable properties of the reification techniques (Sec. 3). Our new technique, named NdTerms, is presented in Sec. 4, where we also prove to what extent it satisfies the properties of the previous section. Sec. 5 discuss some of the problems that may occur when combining knowledge having different annotations. In Sec. 6, we present how the other approaches fit in our formalization and why they do not satisfy well the properties. Finally, we discuss this and future work in Sec. 7. 2 Preliminaries In this section, we introduce the notations and definitions we use in relation to Description Logics. Note that we use an extended version of DL where all terms can be used as concept names, role names, and individual names in the same ontology. Using the same name for different types of terms is known as “punning” in OWL 2 [16, Section 2.4.1]. Moreover, we allow more constructs than in OWL 2 DL and make no restriction on their use in order to show that our approach is not limited to a specific DL. We assume that there is an infinite set of terms N. Every term is an individual. A role is either a term or, given roles R and S, R t S, R u S, ¬R, R− , R ◦ S and R+ . A concept is either a term, or, given concepts C, D, role R, individuals u1 , . . . , uk , and natural number n, ⊥, >, C t D, C u D, ∃R.C, ∀R.C, ≤ nR.C, ≥ nR.C, ¬C or {u1 , . . . , uk }. Finally, we also allow concept product C × D to define a role. Interpretations are tuples h∆I , ·Iu , ·Ir , ·Ic i, where ∆I is a non-empty set (the domain of interpretation) and ·Iu , ·Ir , and ·Ic are the interpretation functions for individuals, roles and concepts respectively such that: – for all u ∈ N, uIu ∈ ∆I ; – for all P ∈ N, P Ir ⊆ ∆I × ∆I and interpretation of roles is inductively defined by (R t S)Ir = RIr ∪ S Ir , (R u S)Ir = RIr ∩ S Ir , (¬R)Ir = (∆I ×∆I )\RIr , (R− )Ir = {hx, yi|hy, xi ∈ RIr }, (R◦S)Ir = {hx, yi|∃z.hx, zi ∈ RIr ∧ hz, yi ∈ S Ir } and (R+ )Ir is the reflexive-transitive closure of RIr (with R and S being arbitrary roles). – for all A ∈ N, AIc ⊆ ∆I and interpretation of concepts is defined by ⊥Ic = ∅, >Ic = ∆I , (C t D)Ic = C Ic ∪ DIc , (C u D)Ic = C Ic ∩ DIc , (∃R.C)Ic = {x|∃y.y ∈ C Ic ∧ hx, yi ∈ RIr }, (∀R.C)Ic = {x|∀y.hx, yi ∈ RIr ⇒ y ∈ C Ic }, (≤ nR.C)Ic = {x|]{y ∈ C Ic |hx, yi ∈ RIr } ≤ n}, (≥ nR.C)Ic = {x|]{y ∈ C Ic |hx, yi ∈ RIr } ≥ n}, (¬C)Ic = ∆I \ C Ic , {u1 , . . . , uk } = {uI1 u , . . . , uIku }, where C and D are arbitrary concepts, R an arbitrary role, u1 , . . . , uk are individual names, and k and n two natural numbers. – Roles defined as a concept product are interpreted as (C ×D)Ir = C Ic ×DIc for arbitrary concepts C and D. In the following, we slightly abuse notations by defining interpretations as pairs h∆I , ·I i where ·I denotes the three functions ·Iu , ·Ic , and ·Ir . Moreover, 0 0 0 0 when we write xI = y I , it means “xIu = y Iu and xIc = y Ic and xIr = y Ir ”. Axioms are either general concept inclusions C vc D, sub-role axioms R vr S, instance assertions C(a), or role assertions R(a, b), where C and D are con- cepts, R and S are roles, and a and b are individual names. An interpretation I satisfies axiom C vc D iff C Ic ⊆ DIc ; it satisfies R vr S iff RIr ⊆ S Ir ; it satisfies C(a) iff aIu ∈ C Ic ; and it satisfies R(a, b) iff haIu , bIu i ∈ RIr . When I satisfies an axiom α, it is denoted by I |= α. Instance assertions, role assertions and individual identities constitute the ABox axioms. An ontology O is composed of a set of terms called the signature of O and denoted by Sig(O), and a set of axioms denoted by Ax(O). An interpretation I is a model of an ontology O iff for all α ∈ Ax(O), I |= α. In this case, we write I |= O. The set of all models of an ontology O is denoted by Mod(O). A semantic consequence of an ontology O is a formula α such that for all I ∈ Mod(O), I |= α. In the rest of the paper, we will use teletype font to denote known individ- uals, and normal font for unknown individuals and variables (e.g., City(babylon) and City(x)). 3 Contextualization of Statements A contextual annotation can be thought of as a set of ABox axioms that describe an individual representing the statement (the anchor) that is annotated. An annotated statement (or ontology) is the combination of a DL axiom (or DL ontology) with a contextual annotation. Definition 1 (Connected individuals). Two terms a and b are connected individuals wrt an ABox A iff a and b are used as individual names in A, and either – a and b are the same term, or – there exists R1 , · · · , Rn and z1 , · · · , zn−1 , such that: • R1 (a, z1 ), or R1 (z1 , a) • Ri (zi−1 , zi ), or Ri (zi , zi−1 ), 2 ≤ i ≤ n − 2 • Rn (zn−1 , b), or Rn (b, zn−1 ) Example 1. If we consider the ABox A = {P (a, b), Q(c, b), S(d, e)}, the pairs of individuals {a, b}, {b, c}, {a, c}, and {d, e} are connected individuals, but {a, d}, {b, d}, {c, d}, {a, e}, {b, e}, and {c, e} are not. Definition 2 (Contextual annotation). A contextual annotation Ca is an ABox with signature {a} ∪ Σ where a 6∈ Σ is a distinguished term (called the anchor) and Σ is a DL signature such that ∀x ∈ Σ, {a, x} are connected indi- viduals. Example 2. The Abox CA = {validity(a, t), Interval(t) from(t, 609BC), to(t, 539BC), prov(a, w), name(w, wikipedia), Wiki(w)} is a contextual annotation, where a is the anchor and Σ = {t, Interval, w, wikipedia, wiki, 609BC, 539BC}. Definition 3 (Annotated statement). An annotated statement is a pair hα, Cai such that α is a description logic axiom and Ca is a contextual annota- tion. Example 3. The pair hα, CAi, where α = capital(babylon, babylonianEmpire) and CA is the contextual annotation from Ex. 2, is an annotated statement. Definition 4 (Annotated ontology). An annotated ontology is a pair hO, Cai such that O is a description logic ontology and Ca is a contextual annotation. Each reification technique has an implicit construction plan in order to map an annotated statement to a resulting ontology. A contextualization (Def. 5) represents the procedure that generates a single DL ontology from a given anno- tated statement or ontology. The procedure must not lose information, especially not the annotation. Definition 5 (Contextualization). A contextualization is a function f that maps each annotated statement αCa = hα, Cai to a description logic ontology f (αCa ) = St(αCa ) ∪ Cx(αCa ) such that: – there exists an individual u in the signature of St(αCa ) and of Cx(αCa ) such that: • for all R(a, x) ∈ Ca, R(u, x) ∈ Cx(αCa ); • for all R(x, a) ∈ Ca, R(x, u) ∈ Cx(αCa ); • for all C(a) ∈ Ca, C(u) ∈ Cx(αCa ); • for all other α ∈ Ca, α ∈ Cx(αCa ). – there is an injective mapping between the signature of α and the signature of St(αC ). S extend f to all annotated ontologies OCa = hO, Cai by defining f (OCa ) = We α∈O f (hα, Cai). Example 4. An example contextualization function fex introduces a fresh term t for each annotated statement with a role assertion R(a, b), where R, a, and b are three therms, creates new axioms subject(t, s), predicate(t, R), object(t, o), and finally removes the axiom R(a, b). Notice that this construction requires the punning of term R. This function is analogous to RDF Reification. The result of this contextualization, along with Other possible known approaches, is described in Sec. 6. Those are the only structures that we will consider in this paper. The remain- ing definitions are desirable properties that a contextualization should satisfy, especially if one wants it to preserve as much of the original knowledge as pos- sible. Definition 6 (Soundness). A contextualization function f is sound wrt a set of annotated ontologies Ω iff for each OCa = hO, Cai ∈ Ω such that O and Ca are consistent, then f (OCa ) is consistent. That is, a contextualization is sound if, when contextualizing a consistent ontology, the result is also consistent. This property avoids that the contextu- alization introduces unnecessary contradictions that would result in everything being entailed by it. Note that this requirement is not necessary in the oppo- site direction, i.e., if f (OCa ) is consistent, it is not required that O and C are consistent. Example 5. The contextualization function fex from Ex. 4 is sound wrt the set of ontologies Ω, where Ω ∪ {subject, predicate, predicate} = ∅. Definition 7 (Inconsistency preservation). Let f be a contextualization func- tion. We say that f preserves inconsistencies iff for all annotated ontologies OCa = hO, Cai, if O is inconsistent then f (OCa ) is inconsistent. Inconsistency preservation means that a self-contradictory ontology in a given context is contextualized into an inconsistent ontology, such that bringing ad- ditional knowledge from other contexts would result in no more consistency. If something is inconsistent within a context, then it is not really worth to consider reasoning with this annotated ontology. Example 6. The contextualization function fex from Ex. 4 does not preserve in- consistencies. For instance, capitalOf can be defined as irreflexive using the fol- lowing axiom: ∃capitalOf.> v ∀capitalOf− .⊥. Then, the axiom capitalOf(babylon, babylon) would make the ontology inconsistent. But when applying fex the re- sult is consistent. Definition 8 (Entailment preservation). Let f be a contextualization func- tion. Given two description logic ontologies O1 and O2 such that O1 |= O2 , we say that f preserves the entailment between O1 and O2 iff for all contextual annotations Ca, f (hO1 , Cai) |= f (hO2 , Cai). Given a set K ⊆ Na of contextual annotations, if f preserves all entailments between ontologies in K, then we say that f is entailment preserving for K. In short, a contextualization is entailment preserving if all the knowledge that could be inferred from the original ontology can also be inferred, in the same context, in the contextualized ontology. Example 7. The contextualization function fex from Ex. 4 preserves entailments for the TBox of ontologies (because no modifications are made on its axioms), but it does not preserve entailments on role assertions. For instance, the ax- ioms capitalOf v cityOf, capitalOf(babylon, babylonianEmpire) entails cityOf(babylon, babylonianEmpire), but this inference is not preserved after applying fex . 4 The NdTerms Approach This section defines the NdTerms approach that extends the NdFluent pro- posal [15]. To this end, we assume that terms are divided into three infinite disjoint sets Nnc , Nc , and Na called the non contextual terms, the contextual terms, and the anchor terms respectively. We also assume that there is an in- jective function A : C → Na and for all Ca ∈ C there is an injective function renCa : Nnc → Nc and two terms isContextualPartOf, isInContext ∈ Nnc . For any Ca, we extend renCa to axioms by defining renCa (α) as the axiom built from α by replacing all terms t ∈ Sig(α) with renCa (t). 4.1 Contextualization Function in NdTerms The contextualization needs to combine the ontologies from the statements and the contextual annotation. However, if we naı̈vely make the union of the ax- ioms, they could contradict, and it would not be possible to ensure the desired properties. For example, an ontology may restrict the size of the domain of inter- pretation to be of a fixed cardinality, while the contextual annotation may rely on more elements outside the local universe of this context. For this reason we use the concept or relativization: The ontology is modified in such a way that the interpretation of everything explicitly described in it is confined to a set, while external terms or constructs may have elements outside said set. Relativization has been applied in various logical settings over the past four decades (e.g., [17]) and applied to DLs and OWL [18], among others. Definition 9 (Relativization). Let Ca be a contextual annotation. Given an ontology O, the relativization of O in Ca is an ontology RelCa (O) built from O as follows: 1. Sig(RelCa (O)) = Sig(O) ∪ >Ca where >Ca is a term not appearing in Sig(O); 2. for all appearances of > in an axiom of O, replace > with >Ca ; 3. for all concepts ¬C appearing in an axiom of O, replace it with ¬C u >Ca ; 4. for all roles ¬R appearing in an axiom of O, replace it with ¬Ru(>Ca ×>Ca ); 5. for all concepts ∀R.C appearing in an axiom of O, replace it with ∀R.C u>Ca ; 6. for all roles R+ appearing in an axiom of O, replace it with R+ u >Ca × >Ca . 7. Additionally, for all terms t ∈ Sig(O), the following axioms are in RelCa (O): – t v >Ca , – >Ca (t), – ∃t.> v >Ca , – > v ∀t.>Ca . The relativization of an ontology can be done systematically by relativizing its concepts and roles, which in turn can be achieved by using Def. 10. Definition 10 (Relativization of concepts and roles). Given a contextual annotation Ca, we define a function relCa that maps concepts and roles to con- cepts and roles according to the rules of Items 2-6. That is, recursively: – relCa (t) = t; – relCa ({u1 , . . . uk }) = {relCa (u1 ), . . . relf (uk )}; – relCa (C t D) = relCa (C) t relCa (D); – relCa (C u D) = relCa (C) u relCa (D); – relCa (¬C) = ¬relCa (C) u >Ca ; – relCa (C × D) = relCa (C) × relCa (D); – relCa (R t S) = relCa (R) t relCa (S); – relCa (R u S) = relCa (R) u relCa (S); – relCa (R ◦ S) = relCa (R) ◦ relCa (S); – relCa (¬R) = ¬relCa (R) u >Ca × >Ca ; – relCa (R− ) = relCa (R)− ; – relCa (R+ ) = relCa (R)+ u >Ca × >Ca ; – relCa (∃R.C) = ∃relCa (R).relCa (C); – relCa (∀R.C) = ∀relCa (R).relCa (C) u >Ca ; – relCa (≥ nR.C) =≥ n relCa (R).relCa (C); – relCa (≤ nR.C) =≤ n relCa (R).relCa (C). where t is a term, C, D are concepts, R, S are roles, u1 , . . . uk are individuals, and k, n are natural numbers. Example 8. The axiom ∃capitalOf.> v ∀capitalOf− .⊥ from Ex. 6 is rela- tivized into ∃capitalOf.>Ca v ∀capitalOf− .⊥ u >Ca . Then, the contextualization in NdTerms is done by: (1) creating the replace- ment of the anchor using the function A, (2) renaming all the terms in the statement using the ren function, (3) linking them to the original terms by the isContextualPartOf relation, and (4) linking the renamed terms to the context using the isInContext relation. Definition 11 (Contextualization in NdTerms). Let Ca ∈ C be any con- textual annotation. Let αCa = hα, Cai be an annotated statement such that the signatures of α and Ca are in Nnc . We define the contextualization function fnd such that fnd (αCa ) = St(αCa ) ∪ Cx(Ca) and: – StCa (α) = {renCa (RelCa (α))}∪{isContextualPartOf(renCa (t), t) | t ∈ Sig(α)}∪ {isInContext(renCa (t), A(Ca)) | t ∈ Sig(α)}. – Cx(Ca) contains exactly the following axioms: • for all R(a, x) ∈ Ca, R(A(Ca), x) ∈ Cx(α); • for all R(x, a) ∈ Ca, R(x, A(Ca)) ∈ Cx(Ca); • for all C(a) ∈ Ca, C(A(Ca)) ∈ Cx(Ca); • for all other axioms β ∈ Ca, β ∈ Cx(Ca). Similarly to Ex. 4, this construction requires punning, since all terms in the statement are used as individual names in the role assertion isContextualPartOf(renCa (t), t). Example 9. The NdTerms contextualization of our running example within the context CA of Ex. 2 contains the following axioms, where term@Ca is the result of the renaming function renCa (term): capitalOf@CA(babylon@CA, babylonianEmpire@CA) isContextualPartOf(babylon@CA, babylon) isContextualPartOf(babylonianEmpire@CA, babylonianEmpire) isInContext(babylon, exampleContext) isInContext(babylonianEmpire, exampleContext) validity(exampleContext, t) etc. 4.2 Properties of NdTerms This subsection presents the properties satisfied by NdTerms. Due to space con- straints, we omit the proofs of the theorems, but they are provided in the ac- companying technical report [19]. The contextualization of NdTerms is sound, but only wrt annotated ontolo- gies that satisfy certain conditions. In order to present the conditions, we need to introduce the following definition, that is also used in several proofs of this paper. Definition 12 (Domain extensibility). Let O be an ontology. A model I = h∆I , ·I i of O is domain extensible for O iff for all sets ∆+ , I 0 = h∆I ∪ ∆+ , ·I i is also a model of O. An ontology is said to be model extensible iff it has a model that is domain extensible. Note that, even if the domain of interpretation of an ontology is infinite, that does not necessarily mean that its models are domain extensible. This notion is closely related to the notion of expansion in [18] since if I is domain extensible, then one can build infinitely many expansions of it. Theorem 1 (Soundness of NdTerms). Let Ca be a contextual annotation. If Ca has its signature in Nnc and is model extensible, then the contextualization function fnd is sound wrt annotated ontologies OCa = hO, Cai, Sig(O) ⊆ Nnc , and Sig(O) ∩ Sig(Ca) = ∅. A model of the union of the of two ontologies can be made from the union of the models of the original ontologies if both ontologies are domain extensi- ble. However, this is not a strong restriction, because the relativization of any consistent ontology is model extensible. Since NdTerms relativizes the ontology O and requires the contextual annotation Ca to be model extensible, it follows that a model can be made. Hence NdTerms is sound. Theorem 2 (Inconsistency preservation of NdTerms). The contextual- ization function fnd preserves inconsistencies. If the contextualization of an ontology fnd (OCa ) is consistent, then the origi- nal ontology O is necessarily consistent. Because the renaming function renCa is injective, there exists an inverse function ren− nc Ca : renCa (N ) → N nc which is itself injective, and the renaming of terms gives us a model. The relativization function 00 00 relCa , on the other hand, does not change the interpretation (since >I = >ICa , adding u>Ca to a concept does not change its interpretation, and replacing > with >Ca has no effect on the interpretation of the concepts or roles). There- fore, if a model satisfies the contextualization function fnd (OCa ), it also satisfies O, and it is not possible to have a consistent NdTerms contextualization of a non-consistent ontology. In [15], we were only able to study entailment preservation in the limited set- ting of pD∗ entailment. Here we present a much stronger theorem for NdTerms. Theorem 3 (Entailment preservation of NdTerms). Let Ca be a contex- tual annotation, let Ω be a set of ontologies having their signatures in Nnc and disjoint from the signature of Ca. If Ca is model extensible, then NdTerms is entailment preserving for {hO, Cai}O∈Ω . If the ontology O is inconsistent, the entailment is trivially preserved. If not, considering that the relativization of a consistent ontology preserves entail- ments, and that the function renCa is just a renaming (and “truth is invariant under change of notation” [20]), the entailments of the ontology O are preserved. Moreover, all axioms in Cx(Ca) are satisfied by the interpretation I, and when- ever isContextualPartOf(renKa , t) or isInContext(renKa (t), A(Ka)) are in the entailed contextualized ontology, then they are in original as well as well. There- fore, all entailments are preserved, and NdTerms satisfies this property. 5 Annotations in Multiple Contexts So far, we assumed that all axioms of an ontology are annotated with the same contextual information. In this setting, the core of the contextualization function in NdTerms amounts to relativizing the axioms and renaming the terms. The renaming part may seem surprising because, as we said a couple of times already, “truth is invariant under change of notation”. However, the usefulness of the renaming part becomes apparent when we want to combine several annotated ontologies having different contextual annotations (say Ca 1 and Ca 2 ). In this case, if the renaming functions renCa 1 and renCa 2 are mapping non contextual terms into disjoint sets of contextual terms, then the contextualization function fnd ensures that any inference made in a context will not interact with the knowledge from another context. This avoids the contextualized knowledge to be inconsistent when combining statements in different contexts that contradict each others. The properties presented in Sec. 3 require a little adaptation when applied to the multi-contextual setting. Indeed, in spite of the soundness theorem of Sec. 4.2, in the general case if a set of annotated ontologies S{hOi , Ca i i}i∈I are satisfying the constraints of Theorem 1, it is still possible that i∈I fnd (hOi , Ca i i) is inconsistent. We expect that the preservation of consistency can be guaranteed if all the signatures of {Oi } are disjoint from all the signatures of {Ca i }. Studying in more details the case of multiple contextual annotations is planned for future work. 6 Other Approaches Here we briefly present the most relevant reification approaches in the Semantic Web. For all of them, the contextualization only annotates the role assertions, leaving other axioms unmodified. As seen in Ex. 4, RDF reification replaces α = R(x, y) with three new role assertions subject(aC a Ca Ca α , x), predicate(aα , R), and object(aα , y) and the ax- Ca ioms in the contextual annotation are anchored on aα , which depends on the role assertion R and the contextual annotation Ca. As shown in Ex. 6 and 7, this contextualization method preserves neither inconsistencies (in the sense of Def. 7) nor entailments on role assertions. Example 10. An RDF reification contextualization of our running example within the context CA of Ex. 2 contains the following axioms: subject(stbcobe, babylon) predicate(stbcobe, capital) object(stbcobe, babylonianEmpire) validity(stbcobe, t) etc. N-Ary relations replaces R(x, y) by two role assertions p1 (R)(x, aC a α ) and Ca p2 (R)(aα , y), where R is a simple role assertion, and p1 and p2 are two injective functions with disjoint ranges that map non-contextual roles to contextual roles. Alternatively, a new concept CR is added for the role R, and the following assertions are added: CR (aC a Ca Ca α ), p1 (R)(aα , x), and p2 (R)(aα , y). Example 11. An N-Ary relations contextualization of our running example within the context CA of Ex. 2 contains the following axioms: capitalOf#1(babylon, rbcobe) capitalOf#2(rbcobe, babylonianEmpire) validity(rbcobe, t) etc. Singleton property is using a non-standard semantics of RDF but the same idea can be simulated with DL axioms. For each simple role axiom R(x, y), the following axioms are added: aC a α (x, y) (that is, the term for the anchor is used Ca as a role), {x} ≡ ∃aα .{y} (which guarantees that the anchor property is a singleton), and singletonPropertyOf(aC a α , R). Example 12. A Singleton Property contextualization of our running example within the context CA of Ex. 2 contains the following axioms: capital#1(babylon, babylonianEmpire) singletonPropertyOf(capital#1, capital) validity(capital#1, t) etc. The remaining approach, NdFluents, uses a similar approach as NdTerms except that it only renames the terms used as individuals and does not relativize the ontology. This ensures interesting properties wrt entailment preservation [15], but TBox axioms in different contexts are not distinguishable. 7 Discussion and Future Work NdTerms and NdFluents are a concrete instantiations of a general approach of contextualizing (parts of) the terms in the ontology. Other instantiations would be possible, such as contextualizing role names (in a similar fashion as the singleton property), class names, or a combination of them. Then, NdTerms would be the approach where each and every term is contextualized, while in NdFluents only individuals are. In the future, we would like to deepen the analysis of contextualization, filling gaps still present in this preliminary work. Especially, the combination of multiple annotations, or annotations of contextualized ontologies, present some interesting challenges. A more systematic comparison of the various approaches remains to be presented. Acknowledgement: This work was partly funded by project WDAqua (H2020- MSCA-ITN-2014 #64279) and project OpenSensingCity (ANR-14-CE24-0029). References 1. McCarthy, J.L.: Generality in Artificial Intelligence. Communications of the ACM 30(12) (1987) 1029–1035 2. Giunchiglia, F.: Contextual Reasoning. Epistemologica 16 (1993) 345–364 3. Ghidini, C., Serafini, L.: Distributed First Order Logics. In Gabbay, D.M., de Rijke, M., eds.: Frontiers of Combining Systems 2. Volume 7 of Studies in Logic and Computation., Research Studies Press (2000) 121–139 4. Zimmermann, A.: Logical formalisms for Agreement Technologies. In Ossowski, S., ed.: Agreement Technologies. Springer (2013) 5. Kifer, M., Subrahmanian, V.S.: Theory of generalized annotated logic program- ming and its applications. Journal of Logic Programming 12(3&4) (1992) 335–367 6. Udrea, O., Recupero, D.R., Subrahmanian, V.S.: Annotated RDF. ACM Trans- action on Computational Logics 11(2) (2010) 7. Zimmermann, A., Lopes, N., Polleres, A., Straccia, U.: A general framework for representing, reasoning and querying with annotated Semantic Web data. Journal of Web Semantics 11 (2012) 72–95 8. Carroll, J.J., Bizer, C., Hayes, P., Stickler, P.: Named graphs, provenance and trust. In Ellis, A., Hagino, T., eds.: Proceedings of the 14th International Conference on World Wide Web, WWW 2005, Chiba, Japan, May 10-14, 2005, ACM Press (May 2007) 613–622 9. Dividino, R.Q., Sizof, S., Staab, S., Schueler, B.: Querying for provenance, trust, uncertainty and other meta knowledge in RDF. Journal of Web Semantics 7(3) (2009) 204–219 10. Hartig, O., Thompson, B.: Foundations of an Alternative Approach to Reification in RDF. CoRR abs/1406.3399 (2014) 11. Hoffart, J., Suchanek, F.M., Berberich, K., Weikum, G.: YAGO2: A spatially and temporally enhanced knowledge base from Wikipedia. Artificial Intelligence 194 (2013) 28–61 12. Brickley, D., Guha, R.V.: RDF Schema 1.1, W3C Recommendation 25 February 2014. W3C Recommendation, World Wide Web Consortium (February 25 2014) 13. Noy, N.F., Rector, A.L.: Defining N-ary Relations on the Semantic Web, W3C Working Group Note 12 April 2006. W3C Note, World Wide Web Consortium (April 12 2006) 14. Nguyen, V., Bodenreider, O., Sheth, A.: Don’t like RDF reification?: making statements about statements using singleton property. In Chung, C.W., Broder, A.Z., Shim, K., Suel, T., eds.: 23rd International World Wide Web Conference, WWW ’14, Seoul, Republic of Korea, April 7-11, 2014, ACM Press (April 2014) 759–770 15. Giménez-Garcı́a, J.M., Zimmermann, A., Maret, P.: NdFluents: An Ontology for Annotated Statements with Inference Preservation. In Blomqvist, E., Maynard, D., Gangemi, A., Hoekstra, R., Hitzler, P., Hartig, O., eds.: The Semantic Web - 14th International Conference, ESWC 2017, Portorož, Slovenia, May 28 - June 1, 2017, Proceedings, Part I. Volume 10249 of Lecture Notes in Computer Science., Springer (May 2017) 638–654 16. Golbreich, C., Wallace, E.K.: OWL 2 Web Ontology Language, New Features and Rationale (Second Edition), W3C Recommendation 11 December 2012. W3C Recommendation, World Wide Web Consortium (December 11 2012) 17. Scott, D.S.: Identity and existence in intuitionalistic logic. In Fourman, M., Mulvay, C., Scott, D.S., eds.: Applications of Sheaves, Proceedings of the Research Sympo- sium on Applications of Sheaf Theory to Logic, Algebra, and Analysis, Durham, July 9-21, 1977. Volume 753 of Lecture Notes in Mathematics., Springer (1979) 660–696 18. Cuenca-Grau, B., Kutz, O.: Modular Ontology Languages Revisisted. In Honavar, V.G., Finin, T.W., Caragea, D., Mladenic, D., Sure, Y., eds.: SWeCKa 2007: Pro- ceedings of the IJCAI-2007 Workshop on Semantic Web for Collaborative Knowl- edge Acquisition, Hyderabad, India, January 7, 2007. (January 2007) 19. Giménez-Garcı́a, A.Z.M.: Integrating Context of Statements within Description Logics. Technical report, Laboratoire Hubert Curien, Saint-Étienne, France (2017) 20. Goguen, J.A., Burstall, R.M.: Institutions: Abstract Model Theory for Specifica- tion and Programming. Journal of the ACM 39(1) (1992) 95–146