The **_Bibliographic Reference Ontology (BiRO)_** is an ontology structured according to the FRBR model to define bibliographic records (as subclasses of `frbr:Work`) and bibliographic references (as subclasses of `frbr:Expression`), and their compilations into bibliographic collections such as library catalogues, and into bibliographic lists such as reference lists in journal articles, respectively.

An individual bibliographic reference, such as one in the reference list of a published journal article, may exhibit varying degrees of incompleteness, depending on the formatting rules of the journal.
For example, it may lack the title of the cited article, the full names of the listed authors, or indeed a full listing of the authors.
BiRO provides a logical system for relating such incomplete bibliographic reference to:
- the full bibliographic record for that cited article (`biro:BibliographicRecord`), which, in addition to any author and title fields missing from the reference (`biro:BibliographicReference`), may also be expected to include the name of the publisher, and the ISSN or ISBN of the publication;
- collections of bibliographic records (`biro:BibliographicCollection`), such as library catalogues (`biro:LibraryCatalogue`);
- ordered bibliographic lists (`biro:BibliographicList`), such as reference lists (`biro:ReferenceList`).
## Examples of use
In the following subsections, we introduce some examples to showcase how to use BiRO.
The prefixes that are used in all the examples provided below are defined as follows:
@prefix : <http://www.sparontologies.net/example/> .
@prefix biro: <http://purl.org/spar/biro/> .
@prefix co: <http://purl.org/co/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix frbr: <http://purl.org/vocab/frbr/core#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix literal: <http://www.essepuntato.it/2010/06/literalreification/> .
### Defining bibliographic references and reference lists
The paper entitled ['Intertextual semantics: A semantics for information design'](http://doi.org/10.1002/asi.21134) contains a list of references, each of them referring to a particular published article.
For instance, the content of a particular bibliographic reference contained in that list, and referring to the paper ['Towards a semantics for XML markup'](http://doi.org/10.1145/585058.585081), is:
Renear, A., Dubin, D. & Sperberg-McQueen, C.M. (2002). Towards a semantics for XML markup.
In E. Mudson (Chair), Proceedings of the ACM Symposium on Document Engineering, (pp. 119-126).
New York: ACM Press.
A first necessary step to release bibliographic references like the above one in RDF by using BiRO is to describe the list where they are contained (`biro:ReferenceList`), and the particular order in which they are (by means of the [Collections Ontology](http://purl.org/co) class `co:List` and its related properties).
In addition, we should also make explicit the link between each of the references in the list and the actual cited articles they refer to, by means of the object property `biro:references`.
<http://dx.doi.org/10.1002/asi.21134>
frbr:part :reference-list .
:reference-list a biro:ReferenceList ;
co:firstItem :reference-1 ;
co:item
:reference-1 ,
:reference-2 ,
:reference-3 ,
# ...
:reference-i ,
:reference-j ,
# ...
:reference-n ;
co:lastItem
:reference-n .
:reference-1 a co:ListItem ;
co:itemContent :barwise83 ;
co:nextItem :reference-2 .
:reference-2 a co:ListItem ;
co:itemContent :black37 ;
co:nextItem :reference-3 .
# ...
:reference-i a co:ListItem ;
co:itemContent :renear02 ;
co:nextItem :reference-j .
# ...
:renear02 a biro:BibliographicReference ;
dcterms:bibliographicCitation
'Renear, A., Dubin, D. & Sperberg-McQueen,
C.M. (2002). Towards a semantics for XML markup.
In E. Mudson (Chair), Proceedings of the ACM
Symposium on Document Engineering, (pp. 119-126).
New York: ACM Press.' ;
biro:references <http://dx.doi.org/10.1145/585058.585081> .
### Describing parts of a reference
The source introduced in the first BiRO example is not fully expressive as we only assigned an IRI to the reference list and to each of its references, and the semantics of the string representing the reference is still obscure.
For instance, there is no explicit statement saying that the strings 'Renear, A.', '2002' and 'Towards a semantics for XML markup' are, respectively, the name of one of the authors, the year of publication and the title of the article.
A way to enable the semantic enhancement of strings, and to solve the above mentioned limitations, is to use literals as subjects of statements and assertions, by promoting them as _first class object_ in OWL.
The pattern literal reification fulfills this scenario by reifying literals as proper individuals of the class `literal:Literal`.
Individuals of this class express literal values through the functional data property `literal:hasLiteralValue` and can be connected to other individuals that share the same literal value by using the property `literal:hasSameLiteralValueAs`.
Moreover, a literal may refer to, and may be referred by, any OWL individual through `literal:isLiteralOf` and `literal:hasLiteral` respectively.
This pattern allows one to describe each string of a bibliographic reference as item of an ordered list of strings, by means of the Collections Ontology.
By means of this pattern and of the OWL 2 capabilities in meta-modelling, it becomes possible to link specific strings in the references as defined with BiRO and to enhance them through semantic assertions according to specific vocabularies.
:renear02 a biro:BibliographicReference ;
co:firstItem :author-name-1 ;
co:item
:author-name-1 ,
:author-name-2 ,
:year-1 ,
:title-1 ,
# ...
:publisher-name-1 ;
co:lastItem :publisher-name-1 .
:author-name-1 a co:ListItem ;
co:itemContent :first-author-name ;
co:nextItem :author-name-2 .
# ...
:year-1 a co:ListItem ;
co:itemContent :publication-year ;
co:nextItem :title-1 .
:title-1 a co:ListItem ;
co:itemContent :paper-title ;
co:nextItem :editor-name-1 .
# ...
:first-author-name a literal:Literal , foaf:name ;
literal:hasLiteralValue 'Renear, A.' ;
literal:isLiteralOf :renear .
:renear a foaf:Person ;
foaf:givenName 'Allen' ;
foaf:familyName 'Renear' .
## Competency Questions
BiRO can be used for answering several questions related to bibliographic records and references.
In the following subsections, some of them are introduced together with their respective SPARQL queries.
The prefixes that are used in all the SPARQL queries provided below are defined as follows:
PREFIX biro: <http://purl.org/spar/biro/>
PREFIX co: <http://purl.org/co/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX frbr: <http://purl.org/vocab/frbr/core#>>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX literal: <http://www.essepuntato.it/2010/06/literalreification/>
### CQ1
Which reference lists are contained within a paper?
SELECT ?paper ?referenceList
WHERE {
?paper frbr:part ?referenceList .
?referenceList a biro:ReferenceList .
}
### CQ2
What is the ordered sequence of references in a reference list?
SELECT ?referenceList ?listItem ?reference ?nextItem
WHERE {
?referenceList a biro:ReferenceList ;
co:item ?listItem .
?listItem co:itemContent ?reference .
OPTIONAL { ?listItem co:nextItem ?nextItem . }
}
### CQ3
Which cited works do bibliographic references refer to?
SELECT ?reference ?citedWork
WHERE {
?reference a biro:BibliographicReference ;
biro:references ?citedWork .
}
### CQ4
What are the constituent literal parts and values that form a bibliographic reference?
SELECT ?reference ?partItem ?literalNode ?literalValue ?nextPartItem
WHERE {
?reference a biro:BibliographicReference ;
co:item ?partItem .
?partItem co:itemContent ?literalNode .
?literalNode literal:hasLiteralValue ?literalValue .
OPTIONAL { ?partItem co:nextItem ?nextPartItem . }
}