Skip to content

Instantly share code, notes, and snippets.

@nichtich
Created November 1, 2011 21:33
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nichtich/1331983 to your computer and use it in GitHub Desktop.
Save nichtich/1331983 to your computer and use it in GitHub Desktop.
Simplified Ontology for Bibliographic Resources (sobr)
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix frbr: <http://purl.org/vocab/frbr/core#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sobr: <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
############################################################
# About this ontology
############################################################
sobr: a owl:Ontology;
rdfs:label "Simplified Ontology for Bibliographic Resources"@en ;
dct:created "2011-11-01"^^xsd:date ;
dct:description """While FRBR is too complex, the bibliographic Ontotology (BIBO)
and other ontologies do not really cover bibliographic resources as managed in
libraries. This ontology is probably the simplest ontology that could work.""" .
############################################################
# Classes
############################################################
sobr:Document a owl:Class ;
owl:equivalentClass
schema:CreativeWork, bibo:Document, foaf:Document, frbr:Endevaour ;
skos:altLabel "work"@en , "document"@en ;
dct:description "a document is anything perceived as a document"@en ;
rdfs:seeAlso <http://people.ischool.berkeley.edu/~buckland/whatdoc.html> ;
skos:scopeNote "this class includes both abstract works and concrete, possibly physical, documents"@en .
sobr:Edition a owl:Class ;
rdf:subClassOf sobr:Document ;
owl:equivalentClass [ a owl:Class;
owl:unionOf (frbr:Expression frbr:Manifestation)
] ;
dct:description "a document that can exist in multiple copies"@en ;
skos:scopeNote
"every edition is edition-of some document but also a document by itself."@en .
sobr:Item a owl:Class ;
rdf:subClassOf sobr:Document ;
owl:equivalentClass frbr:Item ;
skos:altLabel "copy"@en , "holding"@en, "exemplar"@en, "item"@en ;
dct:description "a document that is a single copy"@en ;
skos:scopeNote "most items are physical copies, unique or exemplars of a document"@en .
# Secondary class if you need to describe bibliographic records.
# In doubt, just ignore this class.
sobr:Record a owl:Class ;
rdf:subClassOf sobr:Document ;
skos:prefLabel "bibliographic record"@en ;
dct:description "a document that, as primary purpose, describes another document"@en .
############################################################
# Properties
############################################################
sobr:edition a owl:ObjectProperty ;
rdfs:domain sobr:Document ;
rdfs:range sobr:Edition ;
owl:inverseOf sobr:editionOf .
sobr:editionOf a owl:ObjectProperty ;
rdfs:domain sobr:Edition ;
rdfs:range sobr:Document ;
owl:inverseOf sobr:edition .
sobr:exemplar a owl:ObjectProperty ;
rdfs:domain sobr:Document ;
rdfs:range sobr:Item ;
owl:inverseOf sobr:editionOf .
sobr:exemplarOf a owl:ObjectProperty ;
rdfs:domain sobr:Item ;
rdfs:range sobr:Document ;
owl:inverseOf sobr:edition .
############################################################
# Rules
############################################################
# The exemplar of an edition is also exemplar of the edition's document.
# { ?edition sobr:editionOf ?work ; sobr:exemplar ?copy } => { ?work sobr:exemplar ?copy }
# If a document is both edition and exemplar of the same document, it is it's own exemplar.
# For instance you can view a museum object as object with only one copy (itself).
# { ?work sobr:edition ?both . ?work sobr:exemplar ?both } => { ?both sobr:exemplar ?both }
# The following rules are disputable:
# They can be assumed as always given because they add no information.
# Every edition is it's own edition
# { ?edition a sobr:Edition } => { ?edition sobr:edition ?edition } .
# Every item is it's own exemplar
# { ?copy a sobr:Item } => { ?copy sobr:exemplar ?copy } .
digraph {
document [label="Document"];
edition [label="Edition"];
exemplar [label="Item"];
edition -> document [arrowhead=empty];
exemplar -> document [arrowhead=empty];
document -> edition [label=edition];
document -> exemplar [label=exemplar];
}
@nichtich
Copy link
Author

By the way, SOBR does not accept disjointedness of bibo:Document and bibo:Collection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment