The Property Reification Vocabulary 0.11

Namespace Document 19 February 2011

This version:
http://purl.org/ontology/prv/20110219/propertyreification.html (OWL, N3)
Latest version:
http://purl.org/ontology/prv/core# (OWL, N3)
Previous version:
http://purl.org/ontology/prv/20100926/propertyreification.html (OWL, N3)
Authors:
Jiří Procházka,
Richard Cyganiak (DERI),
Toby Inkster (Buzzword.org.uk),
Bob Ferris (SMI)
Sourceforge Property Reification Vocabulary repository
Source code, examples, graphics, ...
Sourceforge SMI ontologies mailing list
Browse Archives
Wordpress Property Reification Vocabulary at SMI
Announcements, descriptions, use cases, ...
  SMI Webspace Index
Ontologies, vocabularies, tools, applications, ...

Valid XHTML + RDFa Creative Commons License This work is licensed under a Creative Commons Attribution License. This copyright applies to the Property Reification Vocabulary Specification and accompanying documentation in RDF. Regarding underlying technology, the Property Reification Vocabulary uses W3C's RDF technology, an open Web standard that can be freely used by anyone.


Abstract

The Property Reification Vocabulary specification provides a vocabulary for describing the ontology design pattern of property reification on/ for the Semantic Web. That means the semantic relation of a shortcut relation (subject, predicate, object) with its detailed description of the relationship. This document contains a RDFa description of the Property Reification Vocabulary and some additional information and examples.

Note: this is only a proposal/draft of the Property Reification Vocabulary and parts of it might be changed in the near future (work in progress)

Status of This Document

The Property Reification Vocabulary is design after a proposal made by Jiří Procházka, Richard Cyganiak and Toby Inkster and extended by Bob Ferris. It should reflect the important use case and ontology design pattern of property reification, which is different from statement reification (see also background and this explanation). This gives ontology designers the freedom to separate such property reification definitions from their core ontology and enable hence the opportunity to make them optional.
The template of this specification is derived from the FOAF Vocabulary Specification, which was created by Dan Brickley and Libby Miller, and the Music Ontology Specification, which was created by Yves Raimond. It was modified and extended by Bob Ferris. Furthermore, a modified and extended version of Danbri's SpecGen version was used to generate most of the RDFa statements of the Property Reification Vocabulary for this specification (see here for SpecGen version 6 by Bob Ferris).

This document is created by combining the RDFS/OWL machine-readable Property Reification Vocabulary with a human-readable HTML representation that includes RDFa annotations. Future versions may incorporate multilingual translations of term definitions. The RDF/XML version of the specification is also available directly from the namespace URI. RDF/N3 representations could be access via the links above.

The authors welcome comments on this document, preferably via the author's email addresses.

Table of Contents

The Property Reification Vocabulary at a glance

The prv:PropertyReification concept as graph with relations:

The property reification as graph with 
relations

An a-z index of Property Reification Vocabulary terms, by class (categories or types) and by property.

Classes: | PropertyReification |

Properties: | object_property | reification_class | reified | shortcut | shortcut_property | subject_property |

Examples

A Simple Example

RDF/Turtle representation of a simple property reification definition example created with help of the Property Reification Vocabulary (see also RDF and N3 for downloadable representations of this example) that includes also an example of its application:

@prefix prv: <http://purl.org/ontology/prv/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ex:  <http://example.org/> .
 
ex:ReadReification a prv:PropertyReification ;
   prv:shortcut ex:hasRead ;
   prv:reification_class ex:ReadingEvent ;
   prv:subject_property ex:reader ;
   prv:object_property ex:book .
 
# The quick way
<#alice> ex:hasRead <#beekeeping> .
 
# The detailed way
<#myreadingevent> a ex:ReadingEvent ;
   ex:reader <#alice> ;
   ex:book <#beekeeping> ;
   ex:when "2010-11-01"^^xsd:date .

In the example above one can see a property reification definition that utilize some temporarily defined terms and an example of its application. The example includes a property reification definition for the shortcut relation property ex:hasRead. Thereby, this property reification definition utilizes the reification class ex:ReadingEvent. Furthermore, the subject property is ex:reader and the object property is ex:book.
Due to the property reification definition from above and the shortcut relation and property reification rules (see here) one can clearly reason that the shortcut relation (see "The quick way") and reification class instance (see "The detailed way") in the example are belonging semantically together. The detailed description is additionally associated with a date (ex:when), that represents when the person (<#alice>) read the book (<#beekeeping>).
The property reification definition of this example makes especially use of the reification class (prv:reification_class) to utilize a reification class and a shortcut relation property (prv:shortcut) as identification terms to establish the semantic relation between a shortcut relation and its belonging reification class instance(s).

Cognitive Characteristics Ontology Example

RDF/Turtle representation of a property reification definitions example of the Cognitive Characteristics Ontology created with help of the Property Reification Vocabulary (see also RDF and N3 for downloadable representations of this example):

@prefix prv: <http://purl.org/ontology/prv/core#> .
@prefix cco: <http://purl.org/ontology/cco/core#> .
@prefix ex:  <http://example.org/> .
 
ex:SkillReification a prv:PropertyReification ;
   prv:shortcut cco:skill ;
   prv:shortcut_property cco:characteristic ;
   prv:reification_class cco:CognitiveCharacteristic ;
   prv:subject_property cco:agent ;
   prv:object_property cco:topic .
 
ex:ExpertiseReification a prv:PropertyReification ;
   prv:shortcut cco:expertise ;
   prv:shortcut_property cco:characteristic ;
   prv:reification_class cco:CognitiveCharacteristic ;
   prv:subject_property cco:agent ;
   prv:object_property cco:topic .
 
ex:InterestReification a prv:PropertyReification ;
   prv:shortcut cco:interest ;
   prv:shortcut_property cco:characteristic ;
   prv:reification_class cco:CognitiveCharacteristic ;
   prv:subject_property cco:agent ;
   prv:object_property cco:topic .
 
ex:BeliefReification a prv:PropertyReification ;
   prv:shortcut cco:belief ;
   prv:shortcut_property cco:characteristic ;
   prv:reification_class cco:CognitiveCharacteristic ;
   prv:subject_property cco:agent ;
   prv:object_property cco:topic .
 
ex:SettingReification a prv:PropertyReification ;
   prv:shortcut cco:setting ;
   prv:shortcut_property cco:characteristic ;
   prv:reification_class cco:CognitiveCharacteristic ;
   prv:subject_property cco:agent ;
   prv:object_property cco:topic .

In the example above one can see property reification definitions that utilize terms of the Cognitive Characteristics Ontology. The example includes property reification definitions for the shortcut relation properties cco:skill, cco:expertise, and cco:interest. Thereby, every property reification definition utilizes the same reification class, cco:CognitiveCharacteristic. Furthermore, also the subject and object property are in every definition the same, cco:agent (as subject property) and cco:topic (as object property).
Due to the property reification definitions from above and the shortcut relation and property reification rules (see here) one can clearly reason that the shortcut relations and reification class instances in the soccer example of the Cognitive Characteristics Ontology are belonging semantically together (here pairwise).
The property reification definitions of this example make especially use of the shortcut property (prv:shortcut_property) to utilize a reification class for several shortcut relation properties (property reification definitions). Finally, these definitions are described in the Cognitive Characteristics Ontology - Property Reification Mappings.

Introduction: Property Reification Vocabulary Basics

The graphic above illustrates the prv:PropertyReification concept and its related properties as extension of RDFS. It associates

of a property reification definition. This design provides the opportunity to utilize a reification class for several property reification definitions. That means, at least also for several shortcut relation definitions (properties), due to a matching between the shortcut relation property defined in a property reification definition by prv:shortcut and the associated shortcut relation property by the shortcut property (prv:shortcut_property) in a reification class instance.

What's the Property Reification Vocabulary for?

The Property Reification Vocabulary should enable a reasoning engine to apply the following implications, which are represented as N3 rules (see also shortcut relation rule and property reification rule for downloadable representations of these rules):

@prefix prv: <http://purl.org/ontology/prv/core#> .
 
{
   ?pr a prv:PropertyReification ;
      prv:shortcut ?sc ;
      prv:reification_class ?rc ;
      prv:shortcut_property ?scp ;
      prv:subject_property ?sp ;
      prv:object_property ?op .
 
   ?r a ?rc ;
      ?scp ?sc ;
      ?sp ?s ;
      ?op ?o .
}
=>
{ ?s ?sc ?o } .

The shortcut relation rule above means, if a prv:PropertyReification instance ?pr exists, which includes

then a shortcut relation can be constructed, which has

@prefix prv: <http://purl.org/ontology/prv/core#> .
 
{ 
   ?s ?sc ?o .

   ?pr a prv:PropertyReification ;
      prv:shortcut ?sc ;
      prv:reification_class ?rc ;
      prv:shortcut_property ?scp ;
      prv:subject_property ?sp ;
      prv:object_property ?op .
}
=>
{
   ?r a ?rc ;
      ?scp ?sc ;
      ?sp ?s ;
      ?op ?o .
} .

The property reification rule above means, if a shortcut relation exists, which has

and a prv:PropertyReification instance ?pr exists, which relates

then an instance ?r of a reification class ?rc can be constructed, which relates

With help of the property reification and shortcut relation rule a reasoning engine should not only be able to infer (construct) related representations, but also to reason that existing shortcut relations and instances of reification classes belonging semantically together.
Both rules are also described with help of SPIN (SPARQL Inferencing Notation) and are available via the namespace URI 'http://purl.org/ontology/prv/rules#'. Thus, one can directly retrieve a description of the property reification rule and the shortcut relation rule and use these descriptions to feed a reasoning engine.

Background

It seems that there is still a lack in modelling contextual information for Semantic Graph triples and deploying this knowledge representation reusable in a distributed Linked Data environment. Although, there exists probably applicable solutions for representing external context*, e.g. Named Graphs or N-Quads. However, these methods are not really appropriated to represent internal context* by keeping clear semantics regarding their described Semantic Graph triples (information resource). Even the existing method for RDF statements, RDF Reification (statement reification), has no clear semantics between the statement triple(s) and their reification information resource(s). Furthermore, this method is intended to be applied at the instance level. Although, it might be good to be able to apply reification definition also on the vocabulary level. That means, to reify the semantic relation that is established by a property. This kind of reification is then called property reification.
Therefore, the simple semantic relation, represented by subject, predicate and object, is now defined as shortcut relation. Thereby, the predicate is always the same property for a single shortcut relation definition. Beyond, the class that enables a detailed description of such a n-ary relation is called reification class.
Due to the reason, that there wasn’t a published vocabulary that addresses a mapping and its semantics between shortcut relations and reification classes and vice versa, Bob Ferris co-designed the Property Reification Vocabulary. This vocabulary is designed after a proposal made by Jiří Procházka, Richard Cyganiak and Toby Inkster and was also extended by Bob Ferris to enable further functionality. It should reflect the important use case and ontology design pattern of property reification. This gives ontology designers the freedom to separate such property reification definitions from their core ontology definition and enable hence the opportunity to make them optional.

*) see "Understanding Data by their Context Using RDF" [Tolle, Karsten; 2004] for a definition of external and internal context

The Property Reification Vocabulary and Standards

TODO

TODO

The Property Reification Vocabulary Description

This specification serves as the Property Reification Vocabulary "namespace document". As such it describes the Property Reification Vocabulary and the terms (RDF classes and properties) that constitute it, so that Semantic Web applications can use those terms in a variety of RDF-compatible document formats and applications.

This document presents the Property Reification Vocabulary as a Semantic Web vocabulary or Ontology. The Property Reification Vocabulary is pretty simple, pragmatic and designed to allow simultaneous deployment and extension. The Property Reification Vocabulary is intended for widescale use, but its authors make no commitments regarding its suitability for any particular purpose.

Evolution and Extension of the Property Reification Vocabulary

The Property Reification Vocabulary is identified by the namespace URI 'http://purl.org/ontology/prv/core#'. Revisions and extensions of the Property Reification Vocabulary are conducted through edits to this document, which by convention is accessible in the Web via the namespace URI. For practical and deployment reasons, note that we do not update the namespace URI as the vocabulary matures.

The evolution of the Property Reification Vocabulary is best considered in terms of the stability of individual vocabulary terms, rather than the specification as a whole. As terms stabilise in usage and documentation, they progress through the categories 'unstable', 'testing' and 'stable'. Older terms are marked 'archaic' which allows the possibility of older forms to become modern again.

The Property Reification Vocabulary cross-reference: Listing the Property Reification Vocabulary Classes and Properties

The Property Reification Vocabulary introduces the following classes and properties. There is a link at the top of this document to the RDF/XML and RDF/N3 versions.

Classes: | PropertyReification |

Properties: | object_property | reification_class | reified | shortcut | shortcut_property | subject_property |

Classes and Properties (full detail)


Classes

Class: prv:PropertyReification

Property Reification - The class, which describes the relations of a property reification. That means, its "shortcut relation", its \nreification class, and the properties that are relating to the subject and object of the "shortcut relation".
Status: testing
Properties include: shortcut reification_class shortcut_property object_property subject_property
Sub class of rdfs:Class
RDFS Class

[#] [back to top]


Properties

Property: prv:object_property

has object property - Relates to the property of the reification class, which relates to the object of the "shortcut relation".
Status: testing
Domain: Property Reification
Range: rdf:Property
RDF Property

[#] [back to top]


Property: prv:reification_class

has reification class - Relates to the reification class, which can be related to the object and subject property to be able to associate the \nobject and subject of the "shortcut relation". The reification class should provide detailed descriptions of the relationship that is \ndescribed in a simple form by the "shortcut relation".
Status: testing
Domain: Property Reification
Range: rdfs:Class
RDF Property

[#] [back to top]


Property: prv:reified

reified - This property relates an statement identifier of a shortcut relation with an instance of a reification class. Although, this is at the moment not really applicable, because it requires a notation for statement identifier as optional fourth element of a tuple; that means, triple + statement identifier.
Status: testing
Domain: rdfs:Resource
Range: owl:Thing
RDF Property

[#] [back to top]


Property: prv:shortcut

has shortcut - Relates to the property of the "shortcut relation" (its predicate).
Status: testing
Domain: Property Reification
Range: rdf:Property
RDF Property

[#] [back to top]


Property: prv:shortcut_property

has shortcut property - Relates to the property of the reification class, which relates to the predicate of the "shortcut relation". So \nthat the specific property reification can be "verified" (the property of the prv:shortcut relation and this one associated by the \nreferred shortcut property should be equal).
Status: testing
Domain: Property Reification
Range: rdf:Property
RDF Property

[#] [back to top]


Property: prv:subject_property

has subject property - Relates to the property of the reification class, which relates to the subject of the "shortcut relation".
Status: testing
Domain: Property Reification
Range: rdf:Property
RDF Property

[#] [back to top]


External Vocabulary References

The description of the terms in the Property Reification Vocabulary 'dictionary' make reference to classes and properties elsewhere. This section of the Property Reification Vocabulary specification provides a placeholder reference for any Property Reification Vocabulary mention of externally defined terms. For example, sometimes we might say that Counter Ontology property has a domain or range of an externally defined class, or that a Property Reification Vocabulary class is a sub-class of an external class, or 'disjoint with' such a class (ie. has no common members). Such claims help fix the intended meaning of Property Reification Vocabulary terms in relationship to other 'peer' vocabularies.
Currently, the Property Reification Vocabulary sub classes:

rdfs:Class
This is the class of resources that are RDF classes. rdfs:Class is an instance of rdfs:Class.

Status Vocabulary

Each term in the Property Reification Vocabulary is annotated with properties from the SemWeb Vocab Status Ontology

Note that this mechanism is itself somewhat experimental and evolvin. The definitions of 'stable', 'unstable', 'archaic' and 'testing' cannot be defined as global absolutes, but only in relationship to the practices, expectations and social structures around some vocabulary. For their use in the Property Reification Vocabulary, future versions of this specification could usefully offer more detail about what to expect from a term labelled 'stable'.

vs:term_status
The vs:term_status property indicates the status of a vocabulary term, one of 'stable','unstable','testing' or 'archaic'.

Acknowledgments

I would like to thank very much the creators the first proposal of the Property Reification Vocabulary - Jiří Procházka, Richard Cyganiak and Toby Inkster. Furthermore, Dan Brickley, Libby Miller and Yves Raimond to provide the basis for this specification.

Recent Changes

============================
Version 0.11 (February 2011)
============================ 
 * ADDED: PRV rules description in SPIN
 * ADDED: prv:reified - to relate an statement identifier of a shortcut relation with an instance of a reification class. Although, this 
          is at the moment not really applicable, because it requires a notation for statement identifier as optional fourth element of a 
          tuple; that means, triple + statement identifier
 * IMPORTED: PRV rules library with spin:imports to the vocabulary specification
 
============================
Version 0.1 (September 2010)
============================
 * ADDED: prv:PropertyReification - the class, which describes the relations of a property reification. That means, its "shortcut 
          relation", its reification class, and the properties that are relating to the subject and object of the "shortcut relation"
 * ADDED: prv:shortcut - relates to the property of the "shortcut relation" (its predicate)
 * ADDED: prv:reification_class - relates to the reification class, which can be related to the object and subject property to be able 
          to associate the object and subject of the "shortcut relation". The reification class should provide detailed descriptions of 
          the relationship that is described in a simple form by the "shortcut relation"
 * ADDED: prv:subject_property - relates to the property of the reification class, which relates to the subject of the "shortcut 
          relation"
 * ADDED: prv:shortcut_property - elates to the property of the reification class,  which relates to the predicate of the "shortcut 
          relation". So that the specific property reification can be "verified" (the property of the prv:shortcut relation and this 
          one associated by the referred shortcut property should be equal)
 * ADDED: prv:object_property - relates to the property of the reification class, which relates to the object of the "shortcut relation"