The requirement – time-constrained relationships Editor is a role in the relationship between a person and a document Under review is a possible status of a document in the publishing workflow Such roles and statuses may hold only during a defined period of time, and may also be contingent on events controlled by agents – such as the editor sending the document to a reviewer We need a generic straightforward way to encode such time-constrained roles and statuses in RDF
The problem – such encoding is not trivial in RDF Because of the sheer simplicity of the subject-predicate-object triple, OWL ontologies and RDF-based models are not able to handle qualifications such as time periods and contexts directly Instead we need a workaround such as reification or, more generally, an n-ary description Ontological patterns have been developed to address this issue For example, by using the time-indexed situation pattern (http://ontologydesignpatterns.org/cp/o wl/timeindexedsituation.owl), it becomes possible to link a subject to a time-dependent situation
Encoding Publishing Roles We have previously used this time-indexed situation pattern to create PRO, the Publishing Roles Ontology (http://purl.org/spar/pro/) PRO permit roles of people (e.g. editor, reviewer) to be encoded for specific periods of time, and in relationship to particular organizations or documents
Diagrammatic representation of PRO
Encoding Publishing Roles :shotton a foaf:Person ; pro:holdsRoleInTime [ a pro:RoleInTime ; pro:withRole pro:author ; pro:relatesToDocument :adventures-in-semantic-publishing ]. If we look just at the core of this ontology, we see that this ontology pattern has two important advantages: First, it relates the subject directly to its role in time Second, it permits new roles to be specified simply by adding new individuals as members of the class pro:Role, without having to modify the ontology This is much simpler that having to add a newrelationship class for each new role
Diagrammatic representation of PSO We have similarly used this time-indexed situation pattern to create PSO, the Publishing Status Ontology (http://purl.org/spar/pso/).
Encoding Publishing Statuses Here, a document status, such as being under review, can be associated with an event related to an agent, for example the event of sending the paper to a reviewer by an editor, and with a particular timespan of the reviewing process :adventures-in-semantic-publishing a foaf:Document ; pso:holdsStatusInTime [ a pso:StatusInTime ; pso:withStatus pso:under-review ; pso:isAcquiredAsAConsequenceOf [ a part:Event ; rdfs:label The sending of the paper to a reviewer ; part:hasParticipant [ a pso:Agent ; pro:holdsRoleInTime [ a pro:RoleInTime ; pro:withRole pro:editor ; pro:relatesToDocument :adventures-in-semantic-publishing ] ] ; tisit:atTime [ a ti:TimeInterval ; ti:hasIntervalStartDate T00:00:00xsd:dateTime ; ti:hasIntervalEndDate T00:00:00xsd:dateTime ] ].
CERRO, the CERIF Roles and Relationships Ontology CERIF is the Common European Research Information FrameworkCommon European Research Information Framework As a contribution to CERIF, we have now used exactly this same ontology design pattern to create CERRO, the CERIF Roles and Relationships Ontology CERRO is available at CERRO complements and extends the draft CERIF and SEMCERIF ontologies developed by the Linked Data Task Group of euroCRISeuroCRIS We have proposed the adoption of CERRO in a document available at CERRO-the-CERIF-Relationships-Ontology.docx
Diagrammatic representation of CERRO CERRO
CERRO Roles, and using roles as object properties CERRO contains 69 relationships, for example cerro:author - with respect to a paper, a publisher, etc. cerro:data-manager - with respect to a project, a dataset, etc. cerro:principal investigator - with respect to a project, an institution, etc. CERRO used the OWL 2 DL capabilities for meta-modelling (known as OWL punning) This permits the individuals of a class cerro:Relationship also to be represented as object properties in the CERRO ontology This has the advantage that if one does not need to employ cerro:RelationshipInTime in order to specify temporal constraints on a relationship the relationship can be used directly as an object property to relate the subject to the object
Examples of CERRO usage :shotton a cerif:Person ; cerro:holdsRelationshipInTime [ a cerro:RelationshipInTime ; cerro:withRelationship cerro:principal-investigator ; cerro:linksToObjectEntity [ a cerif:Project ; dcterms:title The Open Citation Project ; foaf:homePage ] ; tisit:atTime [ a ti:TimeInterval ; ti:hasIntervalStartDate T00:00:00xsd:dateTime ; ti:hasIntervalEndDate T00:00:00xsd:dateTime ] ]. Clear, direct and unambiguous :shotton a cerif:Person ; cerro:principal-investigator [ a cerif:Project ; foaf:homePage ].
Advantages of using CERRO The time-indexed relationship is associated directly with a cerif:CoreEntity The time-indexed relationship is held directly with respect to another cerif:Entity The starting and ending times refer directly to the cerro:RelationshipInTime There is no need to specify a new additional indirect linking URI for each pair of entities to be linked, with which URI the times are associated There is no need to specify many different link properties, one for each type of relationship, e.g. cerif:isLinkedByPerson, cerif:isLinkedToProject A new relationship can easily be specified by adding a new individual to the class cerro:Relationship, without having to change the structure of the ontology CERRO is complete, published on SourceForge, open source and ready to use All classes and properties are fully defined and appropriately restricted The ontology is written in validated OWL 2 DL CERRO is designed to be used with the draft CERIF and SEMCERIF ontologies