Fork me on GitHub

DAIA Ontology

Jakob Voß

2015-04-22 (version 0.0.1+1)

Table of Contents

1 Introduction

The DAIA Ontology defines an encoding of document availability information in RDF. The Ontology aligned with Document Availability Information API (DAIA).

Updates and sources of this document can be found in a public git repository at http://github.com/gbv/daia-rdf. The master file daia.md is written in Pandoc’s Markdown. PAIA Ontology in in RDF/Turtle, in RDF/XML and this HTML document are generated from the master file with makespec. The specification can be distributed freely under the terms of CC-BY-SA.

2 Overview

The Document Availability Information Ontology (DAIA ontology) defines a set of RDF classes and RDF properties to express DAIA data in RDF. RDF data that makes use of DAIA ontology is also referred to as DAIA/RDF.

The DAIA data model basically consists of abstract documents, concrete holdings of documents, and document services, with an availability status.

RDF Serializations of DAIA Ontology are available in RDF/Turtle (daia.ttl) and in RDF/XML (daia.owl).

2.1 Namespaces

The DAIA/RDF Ontology is identified by the URI http://purl.org/ontology/daia/ which is also used URI namespace. Both may be changed to http://purl.org/ontology/daia#. The namespace prefix daia is recommeded.

2.2 Overview

DAIA ontology is based on the following RDF ontologies:

Ontology relevant classes relevant properties
Document Service Ontology (DSO) dso:DocumentService
dso:Loan
dso:Presentation
dso:Interloan
dso:OpenAccess
-
Service Ontology service:ServiceLimitation service:limits / service:limitedBy
service:delay
Holding Ontology holding:exemplar
holding:narrowerExemplar
holding:broaderExemplar
holding:heldby / holding:holds
holding:label
FOAF foaf:Organization
foaf:primaryTopicOf
foaf:name
Bibliographic Ontology (bibo) bibo:Document -
FRBR frbr:Item -
DCTerms dct:description
dct:hasPart / dct:isPartOf

In addition:

+-----------+     daia:availableFor    +---------------------+
|           |------------------------->|                     |
|           |<-------------------------|                     |
|           |     daia:availableOf     |                     |
| frbr:Item |                          | dso:DocumentService |
|           |    daia:unavailableFor   |                     |
|           |------------------------->|                     |
|           |<-------------------------|                     |
+-----------+    daia:unavailableOf    +---------------------+

2.3 Namespaces and Ontology

The URI namespace of DAIA ontology is http://purl.org/ontology/daia#. The namespace prefix daia is recommended. The URI of DAIA Ontology as as a whole is http://purl.org/ontology/daia.

@prefix daia: <http://purl.org/ontology/daia#> .
@base         <http://purl.org/ontology/daia> .

The following namspace prefixes are used to refer to related ontologies:

@prefix cc:      <http://creativecommons.org/ns#> .
@prefix dct:     <http://purl.org/dc/terms/> .
@prefix dso:     <http://purl.org/ontology/dso#> .
@prefix holding: <http://purl.org/ontology/holding#> .
@prefix frbr:    <http://purl.org/vocab/frbr/core#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ssso:    <http://purl.org/ontology/ssso#> .
@prefix service: <http://purl.org/ontology/service#> .
@prefix holding: <http://purl.org/ontology/holding#> .
@prefix vann:    <http://purl.org/vocab/vann/> .
@prefix voaf:    <http://purl.org/vocommons/voaf#> .
@prefix vs:      <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

In Turtle syntax, the ontology is defined as following:

<> a owl:Ontology, voaf:Vocabulary ;
    dct:title "Document Availability Information Ontology"@en ;
    rdfs:label "DAIA" ;
    vann:preferredNamespacePrefix "daia" ;
    vann:preferredNamespaceUri "http://purl.org/ontology/daia#" ;
    dct:modified "2015-04-22"^^xsd:date ;
    owl:versionInfo "0.0.1+1" ;
    foaf:isPrimaryTopicOf <http://purl.org/NET/DAIA> ;
    cc:license <http://creativecommons.org/licenses/by/3.0/> ;
    dct:creator "Jakob Voß" 
.

2.4 Classes

DAIA ontology does not define new classes but makes use of classes defined in related ontologies.

2.4.1 Documents and Holdings

ssso:ServiceEvent a owl:Class ;
    rdfs:isDefinedBy <http://purl.org/ontology/ssso> .

2.4.2 Storage

A storage is a place where items are stored.

daia:Storage a owl:Class .

2.4.3 Availability

2.5 Properties

2.5.1 availableFor

daia:availableFor a owl:ObjectProperty ;
    rdfs:label "availableFor"@en ;
    rdfs:domain frbr:Item ;
    rdfs:range dso:DocumentService ;
    owl:inverseOf daia:availableOf ;
    rdfs:subPropertyOf dso:hasService ;
    rdfs:seeAlso daia:unavailableFor ;
    rdfs:isDefinedBy <> ;
    vs:term_status "testing" .

2.5.2 availableOf

daia:availableOf a owl:ObjectProperty ;
    rdfs:label "availableOf"@en ;
    rdfs:domain dso:DocumentService ;
    rdfs:range frbr:Item ;
    owl:inverseOf daia:availableFor ;
    rdfs:subPropertyOf dso:hasDocument ;
    rdfs:seeAlso daia:unavailableOf ;
    rdfs:isDefinedBy <> ;
    vs:term_status "testing" .

2.5.3 unavailableFor

daia:unavailableFor a owl:ObjectProperty ;
    rdfs:label "unavailableFor"@en ;
    rdfs:domain frbr:Item ;
    rdfs:range dso:DocumentService ;
    owl:inverseOf daia:unavailableOf ;
    rdfs:subPropertyOf dso:hasService ;
    rdfs:seeAlso daia:availableFor ;
    rdfs:isDefinedBy <> ;
    vs:term_status "testing" .

2.5.4 unavailableOf

daia:unavailableOf a owl:ObjectProperty ;
    rdfs:label "unavailableOf"@en ;
    rdfs:domain dso:DocumentService ;
    rdfs:range frbr:Item ;
    owl:inverseOf daia:unavailableOf ;
    rdfs:subPropertyOf dso:hasDocument ;
    rdfs:seeAlso daia:availableOf ;
    rdfs:isDefinedBy <> ;
    vs:term_status "testing" .

3 References

4 Appendixes

The following appendixes are informative only.

4.1 Notes and examples

Examples of DAIA/JSON to DAIA/RDF mappings:

DAIA/JSON
{
  "version" : "0.5",
  "schema" : "http://ws.gbv.de/daia/",
  "timestamp" : "2009-06-09T15:39:52.831+02:00",
  "institution" : { }
}
DAIA/RDF
# In DAIA/RDF there is no timestamp unless one uses N-Quads or reification
[ ] a foaf:Organization .
DAIA/JSON
{
  "document" : [ {
    "href" : "https://kataloge.uni-hamburg.de/DB=1/PPNSET?PPN=57793371X",
    "id" : "gvk:ppn:57793371X",
    "item" : [ {  }, {  }, {  } ]
  } ]
}
DAIA/RDF
<gvk:ppn:57793371X> a bibo:Document ;
  foaf:primaryTopicOf <https://kataloge.uni-hamburg.de/DB=1/PPNSET?PPN=57793371X> ;
  holding:exemplar [ ], [ ], [ ] .
DAIA/JSON
{
    "item" : [ {
      "id" : "id:123",
      "message" : [ { "lang": "en", "content": "foo" } ],
      "department" : { "id": "id:abc" },
      "label" : "bar",
      "available" : [ {"service" : "presentation"}, 
                      {"service" : "loan"}, 
                      {"service" : "interloan"} ],
      "unavailable" : [ {"service" : "openaccess"} ]
    } ]
}
DAIA/RDF
<id:123> a frbr:Item ;
  dct:description "foo"@en ; 
  holding:label "bar" ;
  holding:heldBy <id:abc> ;
  daia:availableFor [ a dso:Presentation ] ;
  daia:availableFor [ a dso:Loan ] ;
  daia:availableFor [ a dso:Interloan ] ;
  daia:unavailableFor [ a dso:Openaccess ] ;
<id:abc> a foaf:Organization ; dct:isPartOf [
  a foaf:Organization ; dct:hasPart <id:abc> ] .

In DAIA/RDF, an Item element corresponds to an instance of frbr:Item.

DAIA/JSON
{ 
  "available": [ { "service":"loan", "delay":"PT2H" 
}
DAIA/RDF
[ ] daia:availableFor [
  a dso:Loan ;
  service:delay "PT2H"^^xsd:duration 
] .
DAIA/JSON
{
    "unavailable": [ {
      "service":"presentation",
      "delay":"PT4H"
    } ]
}
DAIA/RDF
[ ] daia:unavailableFor [
  a dso:Presentation ;
  service:delay "PT4H"^^xsd:duration 
] .
DAIA/JSON
{
    "institution" : { "href" : "http://www.tib.uni-hannover.de/" }
    ...
    "department" : { 
                     "id" : "info:isil/DE-7-022",
                     "content" : "Library of the Geographical Institute, Goettingen University"
                   }
    ...
    "limitation"  : { "content" : "3 day loan" }
}
DAIA/RDF
[ ] a foaf:Organization ;
    foaf:homepage <http://www.tib.uni-hannover.de/> .

<info:isil/DE-7-022> a foaf:Organization ;
    foaf:name "Library of the Geographical Institute, Goettingen University"@en .

[ ] a service:ServiceLimitation ;
    schema:name "3 day loan" . # TODO: schema:name (???)

4.2 Relevant differences to DAIA 0.5

The main difference of this specification to DAIA 0.5 is the inclusion of DAIA/RDF which was formerly defined in a separate document. Major parts of the DAIA ontology have been moved to independent micro-ontologies, involving the change of URIs. In particular, DAIA services are now defined in the Document Service Ontology. The following URIs are deprecated:

Removed:

Moved to Document Service Ontology (DSO):

Moved to Simple Service Status Ontology (SSSO):

Moved to Holding Ontology:

Nur sure about:

DAIA Ontology

4.3 Integrity rules

If department and institution have same id, the department SHOULD be ignored.

4.4 Revision history