The document discusses different techniques for modeling time and context in ontologies. It describes subsumptions where values are modeled as classes, and the limitations of this approach. It also covers using property links where specific properties define time-dependent values and the context they refer to. While straightforward, this approach has issues when multiple contexts are possible. The document proposes an alternative pattern called Time-indexed Value in Context to better address these modeling requirements.
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Scholarly publishing and Linked Data: describing roles, statuses, temporal and contextual extents
1. Scholarly publishing and Linked Data:
describing roles, statuses,
temporal and contextual extents
Silvio Peroni - essepuntato@cs.unibo.it
David Shotton - david.shotton@zoo.ox.ac.uk
Fabio Vitali - fabio@cs.unibo.it
I-Semantics 2012, September 5-7, 2012, Graz, Austria
http://creativecommons.org/licenses/by-sa/3.0
2. Outline
• Modelling time and context: current ontologies and drawbacks
• Requirements for a time- and context-aware Linked Data model
• Our solution: the Time-indexed Value in Context ontology pattern
• PRO and PSO: two Semantic Publishing ontologies to handle
personal roles and statuses of documents
• Conclusions and future directions
4. Semantic Publishing
• Semantic Publishing characterises the current phase of the
publishing revolution, which involves Web and Semantic Web
standards for publishing purposes
• Semantic Publishing concerns:
✦ enriching the article with appropriate metadata
✦ enhancing the representation of the meaning of a published document
✦ facilitating its automated discovery
✦ enabling its linking to semantically related articles
✦ providing access to data within the article in actionable form
✦ facilitating integration of data between papers
✴ Shotton, D. (2009). Semantic Publishing: the coming revolution in scientific
journal publishing. Learned Publishing, 22 (2): 85-94.
DOI: 10.1087/2009202
5. Publishing- and scholarly-aware ontologies
• Important research area: the development of ontologies that
enable the publication of related semantic data into the Linked
Data according to appropriate vocabularies and requirements of
scholarly authoring and publishing
• We developed the Semantic Publishing and Referencing (SPAR)
Ontologies, which aim at describing all the aspects of the scholarly
publishing domain as comprehensive machine-readable RDF
metadata
✦ SPAR homepage: http://purl.org/spar
✦ They imports well-known models: DC, PRISM, FRBR, SKOS, CO, FOAF
✴ Peroni, S., Shotton, D. (2012). FaBiO and CiTO: ontologies for describing
bibliographic resources and citations. In Journal of Web Semantics.
DOI: 10.1016/j.websem.2012.08.001
6. Time and context
• Issue we had to address during the development of SPAR: how to
handle formally, through ontologies, the contextual and time-
dependent aspects of publishing entities, in particular:
✦ personal roles (author, student, affiliation, etc.)
✦ statuses of documents (under-review, accepted for publication, in-
print, etc.)
• Basically, we need a mechanism to describe scenario in which an
entity has a value only within a specific temporal interval and/or
contextual (e.g. social, cultural, physical) environment
• Techniques used in existing (Linked Data) ontologies to represent
the value so as to handle the above modelling scenario:
subsumptions, property links and inter-linked classes
7. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
Person
rdfs:subClassOf
Student
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
8. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
Entity
Person
rdfs:subClassOf
Value
Student
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
9. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
Entity
Being a person is time-independent – Silvio Peroni is a
Person living person while Kurt Vonnegut is a dead person,
but we still describe both as persons
rdfs:subClassOf
Value
Student
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
10. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
OntoClean
Entity classification
Being a person is time-independent – Silvio Peroni is a
Person living person while Kurt Vonnegut is a dead person, rigid class
but we still describe both as persons
rdfs:subClassOf
Value
Student
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
11. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
OntoClean
Entity classification
Being a person is time-independent – Silvio Peroni is a
Person living person while Kurt Vonnegut is a dead person, rigid class
but we still describe both as persons
rdfs:subClassOf
Value
Being a student is time-dependent – Silvio Peroni was
Student
recently a graduate student, but it is no longer
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
12. Subsumptions: values as classes
• This technique is a simplification usually adopted when one wants to describe a
value, e.g. being a student, as a sub-specification of a closely-related entity, e.g. a person,
that holds that value
OntoClean
Entity classification
Being a person is time-independent – Silvio Peroni is a
Person living person while Kurt Vonnegut is a dead person, rigid class
but we still describe both as persons
rdfs:subClassOf
Value
Being a student is time-dependent – Silvio Peroni was
Student
recently a graduate student, but it is no longer
anti-rigid class
• Pros: easy modelling; straightforward inference (e.g. if an entity has been a student,
now or in the past, then it is also a person)
• Cons: anti-rigid entities cannot be satisfactorily achieved (e.g. when an entity is
described as student in the model it keeps this characteristic forever)
• Adopted by: Portal Ontology (http://www.aktors.org/ontology/portal)
13. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Person hasAffiliation Organization
made
Document
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
14. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Entity Context
Value
Person hasAffiliation Organization
Value
made
Document
Context
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
15. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Entity Context
Value
Person hasAffiliation Organization
:person # Affiliation for paper 1
Value swrc:affiliation :uni-of-bologna ;
made foaf:made :paper1 .
Document
Context
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
}
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
16. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Entity Context
Value
Person hasAffiliation Organization
:person # Affiliation for paper 1
Value swrc:affiliation :uni-of-bologna ;
made foaf:made :paper1 .
:person # Affiliation for paper 2
Document swrc:affiliation :uni-of-oxford ;
foaf:made :paper2 .
Context
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
}
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
17. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Entity Context
Value
Person hasAffiliation Organization
:person # Affiliation for paper 1
Value Those are the same swrc:affiliation :uni-of-bologna ;
made resource foaf:made :paper1 .
:person # Affiliation for paper 2
Document swrc:affiliation :uni-of-oxford ;
foaf:made :paper2 .
Context
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
}
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
18. Property links: values as properties
• This technique takes into account anti-rigid characteristics by using a specific property for
defining each time- and context-dependent values (e.g. being affiliated with an
organisation, being the author of a document) that an entity (e.g. a person) have, while
continuing to express the context to which values refer to as individuals of a particular
class (e.g. Organization, Document)
Entity Context
Value
Person hasAffiliation Organization
:person # Affiliation for paper 1
Value Those are the same swrc:affiliation :uni-of-bologna ;
made resource foaf:made :paper1 .
:person # Affiliation for paper 2
Document What is the author’s swrc:affiliation :uni-of-oxford ;
affiliation for a specific foaf:made :paper2 .
Context article?
• Pros: straightforward specification; very common in Linked Data vocabularies
• Cons: any time we need an additional value (e.g. being publisher of) we must define a new
}
property [bad practice]; it is not possible to understand which is the context (e.g. the
document) in which a value (e.g. being affiliated with an organisation) is held by an agent
(e.g. a person) when multiple instances (at different times and/or contexts) are possible
• Adopted by: SW Conference Ontology (http://data.semanticweb.org/ns/swc/ontology)
19. Inter-linked classes: values as individuals
• This technique allows one to address the association of entities (e.g.
people) to values (e.g. academic roles) considering both as separate class
and linking them with an additional object property
graduate-student
Person hasRole Role rdf:type professor
Entity Value intern
undergraduate-student
• Pros: easily extensible (adding new values means adding a new individuals)
• Cons: temporal and contextual information can be associated only to
individuals of those two classes (e.g. the role graduate-student can be
associated with a temporal interval in which it holds; however, if two people
share the same role, there is no way to associate the different intervals during
which these people hold that role)
• Adopted by: SW Conference Ontology
21. Requirements of the model
• The previous techniques are not enough expressive for describing the
scenario that relates an entity to a particular value in a particular period
and according to a particular context
• ✦
Past works in ontology engineering giving fundamental bases in that area:
Boella et al. (2007). Roles, an interdisciplinary perspective. Special Issue of the Journal of
Applied Ontology, 2 (2): 81-207. ISSN: 1570-5838
✦ Guarino et al. (2002). Evaluating ontological decisions with OntoClean. In
Communications of the ACM, 45 (2): 61-65. DOI: 10.1145/503124.503150
✦ Masolo et al. (2004). Social Roles and their Descriptions. In Proceedings of KR 2004
• ✦
Requirements for a (Linked Data) model:
expressible, to handle the above scenario entirely
✦ compact, easy to write and understand
✦ flexible, to allow the definition of new values without compromising the consistency of
the model, even according to multiple triplestores made available by different agent
22. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
23. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
24. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
:peroni tisit:hasTimeIndexedSetting [
a tisit:TimeIndexedSituation ;
tisit:forEntity :intern,:uni-of-oxford ;
tisit:atTime [
a ti:TimeInterval ;
ti:hasIntervalStartDate “2012-06” ;
ti:hasIntervalEndDate “2012-12” ] ] .
25. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
Entity
:peroni tisit:hasTimeIndexedSetting [
a tisit:TimeIndexedSituation ;
tisit:forEntity :intern,:uni-of-oxford ;
tisit:atTime [ Value Context
a ti:TimeInterval ;
Time
ti:hasIntervalStartDate “2012-06” ;
ti:hasIntervalEndDate “2012-12” ] ] .
26. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
Different interpretations:
Entity
:peroni tisit:hasTimeIndexedSetting [ 1. :peroni related at a particular period to :uni-of-
a tisit:TimeIndexedSituation ; oxford that has role :intern
tisit:forEntity :intern,:uni-of-oxford ; 2. :peroni worked at a particular period with
tisit:atTime [ Value Context somebody having the role of :intern within :uni-of-
a ti:TimeInterval ; oxford
Time
ti:hasIntervalStartDate “2012-06” ; 3. :peroni was an :intern within :uni-of-oxford during
ti:hasIntervalEndDate “2012-12” ] ] .
a particular period
27. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
Different interpretations:
Entity
:peroni tisit:hasTimeIndexedSetting [ 1. :peroni related at a particular period to :uni-of-
a tisit:TimeIndexedSituation ; oxford that has role :intern
tisit:forEntity :intern,:uni-of-oxford ; 2. :peroni worked at a particular period with
tisit:atTime [ Value Context somebody having the role of :intern within :uni-of-
a ti:TimeInterval ; oxford
Time
ti:hasIntervalStartDate “2012-06” ; 3. :peroni was an :intern within :uni-of-oxford during
ti:hasIntervalEndDate “2012-12” ] ] .
a particular period
28. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
Different interpretations:
Entity
:peroni tisit:hasTimeIndexedSetting [ 1. :peroni related at a particular period to :uni-of-
a tisit:TimeIndexedSituation ; oxford that has role :intern
tisit:forEntity :intern,:uni-of-oxford ; 2. :peroni worked at a particular period with
tisit:atTime [ Value Context somebody having the role of :intern within :uni-of-
a ti:TimeInterval ; oxford
Time
ti:hasIntervalStartDate “2012-06” ; 3. :peroni was an :intern within :uni-of-oxford during
ti:hasIntervalEndDate “2012-12” ] ] .
a particular period
29. Towards a solution: time-indexed situation
• The time-indexed situation
http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl
is an ontological pattern that allows one to link a subject to a time-dependent
description of a situation
✦ In this context, a situation is defined as a view on a set of entities (e.g. a relational context)
• It is able to handle our scenario, but it is still too abstract both as a model
and in terms of its terminology
:peroni a foaf:Person ; foaf:name “Silvio Peroni” .
:uni-of-oxford a foaf:Organization ;
foaf:name “University of Oxford” .
:intern a swc:Role .
Different interpretations:
Entity
:peroni tisit:hasTimeIndexedSetting [ 1. :peroni related at a particular period to :uni-of-
a tisit:TimeIndexedSituation ; oxford that has role :intern
tisit:forEntity :intern,:uni-of-oxford ; 2. :peroni worked at a particular period with
tisit:atTime [ Value Context somebody having the role of :intern within :uni-of-
a ti:TimeInterval ; oxford
Time
ti:hasIntervalStartDate “2012-06” ; 3. :peroni was an :intern within :uni-of-oxford during
ti:hasIntervalEndDate “2012-12” ] ] .
a particular period that’s fine, but how
to understand that?
31. Time-indexed value in context
• Our time-indexed value in context (TVC)
http://www.essepuntato.it/2012/04/tvc
extends the time-indexed
situation pattern so as
to fully describe the four
different entities involved
in these kinds of scenarios:
✦ the entity having some value
✦ the value had by someone
✦ the time period during which the entity has that value
✦ the particular context that characterises the act of
having that value
32. Time-indexed value in context
• Our time-indexed value in context (TVC)
http://www.essepuntato.it/2012/04/tvc
extends the time-indexed
situation pattern so as
to fully describe the four
different entities involved
in these kinds of scenarios:
✦ the entity having some value
✦ the value had by someone
✦ the time period during which the entity has that value this class is a particular kind of time-
✦ the particular context that characterises the act of indexed situation (i.e. a subclass of
having that value tisit:TimeIndexedSituation) that
represents an hub linking the entity
having a particular value (hasValue),
the value itself (withValue) and the
temporal (atTime) and contextual
(withinContext) extents on which the
entity-value relationship depends
33. Time-indexed value in context
• Our time-indexed value in context (TVC)
http://www.essepuntato.it/2012/04/tvc
extends the time-indexed
situation pattern so as
to fully describe the four
different entities involved
in these kinds of scenarios:
✦ the entity having some value
✦ the value had by someone
✦ the time period during which the entity has that value this class is a particular kind of time-
✦ the particular context that characterises the act of indexed situation (i.e. a subclass of
having that value tisit:TimeIndexedSituation) that
:peroni tvc:hasValue [ represents an hub linking the entity
a tvc:ValueInTime ; having a particular value (hasValue),
tvc:withValue :intern ; the value itself (withValue) and the
tvc:withinContext :uni-of-oxford ; temporal (atTime) and contextual
tvc:atTime [
(withinContext) extents on which the
a ti:TimeInterval ;
ti:hasIntervalStartDate “2012-06” ; entity-value relationship depends
ti:hasIntervalEndDate “2012-12” ] ] .
34. Time-indexed value in context
• Our time-indexed value in context (TVC)
http://www.essepuntato.it/2012/04/tvc
extends the time-indexed
situation pattern so as
to fully describe the four
different entities involved
in these kinds of scenarios:
✦ the entity having some value
✦ the value had by someone
✦ the time period during which the entity has that value this class is a particular kind of time-
✦ the particular context that characterises the act of indexed situation (i.e. a subclass of
having that value tisit:TimeIndexedSituation) that
Entity :peroni tvc:hasValue [ represents an hub linking the entity
a tvc:ValueInTime ; having a particular value (hasValue),
tvc:withValue :intern ; Value the value itself (withValue) and the
tvc:withinContext :uni-of-oxford ; Context temporal (atTime) and contextual
tvc:atTime [
(withinContext) extents on which the
a ti:TimeInterval ;
Time
ti:hasIntervalStartDate “2012-06” ; entity-value relationship depends
ti:hasIntervalEndDate “2012-12” ] ] .
36. Querying a TVC-based model via SPARQL
• Give me all the values had by :peroni
SELECT DISTINCT ?value WHERE {
:peroni tvc:hasValue/tvc:withValue ?value }
37. Querying a TVC-based model via SPARQL
• Give me all the values had by :peroni
SELECT DISTINCT ?value WHERE {
:peroni tvc:hasValue/tvc:withValue ?value }
• Give me all the roles had by :peroni at 24 August 2010 (i.e. aquired
before and lost after that date) in the context of :uni-of-bologna
SELECT DISTINCT ?value WHERE {
?value a swc:Role .
:peroni tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue ?value ;
tvc:withinContext :uni-of-bologna ;
tvc:atTime [ a ti:TimeInterval ;
ti:hasIntervalStartDate ?start ;
ti:hasIntervalEndDate ?end ] ]
FILTER(
xsd:dateTime(?start) <= “2010-08-24T00:00:00Z” &&
xsd:dateTime(?end) > “2010-08-25T00:00:00Z” ) }
39. Reusing external classes as values
• The Portal Ontology defines a hierarchy of roles in form of classes, which
can be used with TVC
:person1 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:Affiliated-Person ] .
:person2 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:Student ] .
:person3 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:PhD-Student ] . Statements defined in the
Portal Ontology
portal:Student rdfs:subClassOf portal:Affiliated-Person .
portal:PhD-Student rdfs:subClassOf portal:Student .
40. Reusing external classes as values
• The Portal Ontology defines a hierarchy of roles in form of classes, which
can be used with TVC
:person1 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:Affiliated-Person ] .
:person2 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:Student ] .
:person3 tvc:hasValue [ a tvc:ValueInTime ;
tvc:withValue portal:PhD-Student ] . Statements defined in the
Portal Ontology
portal:Student rdfs:subClassOf portal:Affiliated-Person .
portal:PhD-Student rdfs:subClassOf portal:Student .
• Give me of any person affiliated with :uni-of-bologna
SELECT DISTINCT ?person WHERE {
?person tvc:hasValue [ a tvc:ValueInTime ; tvc:withValue ?aff ;
tvc:withinContext :uni-of-bologna ] .
{ SELECT ?aff WHERE {
{ ?aff a owl:Class . FILTER(?aff = portal:Affiliated-Person) }
UNION
{ ?aff rdfs:subClassOf+ portal:Affiliated-Person } } } }
42. Constructing second-order inferences
• It is sometimes desirable to reuse ontologies that specify categories (e.g.
roles) through properties rather than classes
43. Constructing second-order inferences
• It is sometimes desirable to reuse ontologies that specify categories (e.g.
roles) through properties rather than classes
✦ E.g. BIBO, available at http://http://bibliontology.com
dcterms:contributor a owl:ObjectProperty .
bibo:translator rdfs:subPropertyOf dcterms:contributor .
bibo:editor rdfs:subPropertyOf dcterms:contributor .
bibo:director rdfs:subPropertyOf dcterms:contributor .
44. Constructing second-order inferences
• It is sometimes desirable to reuse ontologies that specify categories (e.g.
roles) through properties rather than classes
✦ E.g. BIBO, available at http://http://bibliontology.com
dcterms:contributor a owl:ObjectProperty .
bibo:translator rdfs:subPropertyOf dcterms:contributor .
bibo:editor rdfs:subPropertyOf dcterms:contributor .
bibo:director rdfs:subPropertyOf dcterms:contributor .
• These properties can be used as objects of tvc:withValue statements (by
means of OWL 2 punning)
_:person a foaf:Person ; tvc:hasValue [
tvc:withValue bibo:translator ; tvc:withinContext _:document ; ... ] .
45. Constructing second-order inferences
• It is sometimes desirable to reuse ontologies that specify categories (e.g.
roles) through properties rather than classes
✦ E.g. BIBO, available at http://http://bibliontology.com
dcterms:contributor a owl:ObjectProperty .
bibo:translator rdfs:subPropertyOf dcterms:contributor .
bibo:editor rdfs:subPropertyOf dcterms:contributor .
bibo:director rdfs:subPropertyOf dcterms:contributor .
• These properties can be used as objects of tvc:withValue statements (by
means of OWL 2 punning)
_:person a foaf:Person ; tvc:hasValue [
tvc:withValue bibo:translator ; tvc:withinContext _:document ; ... ] .
• Moreover, it is possible to construct second-order inferences starting
from TVC descriptions
CONSTRUCT { ?doc ?property ?person }
WHERE { ?doc a foaf:Document . ?person a foaf:Person ; tvc:hasValue [
tvc:withValue ?property ; tvc:withinContext ?doc ]
{ SELECT ?property WHERE {
{ ?property a owl:ObjectProperty . FILTER(?property = dcterms:contributor) } UNION
{ ?property rdfs:subPropertyOf+ dcterms:contributor } } }
52. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
53. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
[ a pro:RoleInTime ; as affiliate of the University of Bologna for the first paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper1 ;
pro:relatesToOrganization :uni-of-bologna ] ,
54. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
[ a pro:RoleInTime ; as affiliate of the University of Bologna for the first paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper1 ;
pro:relatesToOrganization :uni-of-bologna ] ,
[ a pro:RoleInTime ; as affiliate of the University of Oxford for the second paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper2 ;
pro:relatesToOrganization :uni-of-oxford ] .
55. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
[ a pro:RoleInTime ; as affiliate of the University of Bologna for the first paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper1 ;
pro:relatesToOrganization :uni-of-bologna ] ,
[ a pro:RoleInTime ; as affiliate of the University of Oxford for the second paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper2 ;
pro:relatesToOrganization :uni-of-oxford ] .
:paper1 pso:holdsStatusInTime
56. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
[ a pro:RoleInTime ; as affiliate of the University of Bologna for the first paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper1 ;
pro:relatesToOrganization :uni-of-bologna ] ,
[ a pro:RoleInTime ; as affiliate of the University of Oxford for the second paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper2 ;
pro:relatesToOrganization :uni-of-oxford ] .
:paper1 pso:holdsStatusInTime
[ a pso:StatusInTime ; paper submitted for publication
pso:withStatus pso:submitted ;
tvc:atTime [ ti:hasIntervalStartDate “2009-04-24T13:18:21Z”^^xsd:dateTime ] ;
pso:isAquiredAsConsequenceOf :author-submission-event ] ,
57. Examples
:person pro:holdsRoleInTime
[ a pro:RoleInTime ; as author of two different papers
pro:withRole pro:author ;
pro:relatesToDocument
:paper1 , :paper2 ] ,
[ a pro:RoleInTime ; as affiliate of the University of Bologna for the first paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper1 ;
pro:relatesToOrganization :uni-of-bologna ] ,
[ a pro:RoleInTime ; as affiliate of the University of Oxford for the second paper
pro:withRole pro:affiliate ;
pro:relatesToDocument :paper2 ;
pro:relatesToOrganization :uni-of-oxford ] .
:paper1 pso:holdsStatusInTime
[ a pso:StatusInTime ; paper submitted for publication
pso:withStatus pso:submitted ;
tvc:atTime [ ti:hasIntervalStartDate “2009-04-24T13:18:21Z”^^xsd:dateTime ] ;
pso:isAquiredAsConsequenceOf :author-submission-event ] ,
[ a pso:StatusInTime ; paper is under review
pso:withStatus pso:under-review ;
tvc:atTime [ ti:hasIntervalStartDate “2009-04-26T12:00:00Z”^^xsd:dateTime ;
ti:hasIntervalEndDate “2009-05-27T17:38:01Z”^^xsd:dateTime ] ;
pso:isAquiredAsConsequenceOf :editors-send-paper-to-reviewers-event ] ;
pso:isLostAsConsequenceOf :reviewers-complete-the-reviews-event ] .
58. Conclusions and future directions
• Time and context change the way of modelling domains through OWL
✦ humans acting in specific roles
✦ things processed in phases
• Linked data models should be improved when needed by using time- and context-
based specifications for roles and statuses
• In the domain of scholarly publishing, we proposed the Publishing Roles Ontology (PRO)
and the Publishing Status Ontology (PSO) – both part of SPAR – and we illustrated how
they provide lightweight and easy integration of time- and context-related features
• They implement the Time-indexed Value in Context (TVC), i.e. the ontological pattern we
proposed to deal with temporal and contextual issues
• Future directions:
✦ to study integration paths between other well-known ontologies through TVC
✦ development of APIs so as to use the pattern within Java and Python applications