Thoughts on the proper representation of authorities

In the Rådata nå! project, in 2011, we modelled person authorities from the BIBSYS personal name authority database as foaf:Person, which entails that an authority is, well, a person. I think that this is a common conception — indeed we see this in VIAF among others — but I have come to think that this is incorrect. I have come to believe that this is in fact a fundamental misunderstanding of what authorities actually are.

Following conversations with the good folks at ELAG2014, I started thinking about how authorities are modelled in BIBFRAME, something that I’m not particularly deep into, but which I can nevertheless see has some issues that are related to how authorities are understood. Now, while I toyed with the idea of giving a lightning talk on this — I wrote a turtle-based story that I was going to present — I felt that this was something better presented in written form (especially as we all heard enough of my voice during ELAG2014).

So, the story goes like this.

We start with a simple Dublin Core-like structure, where we express information as strings. This data is, of course relatively clean; it’s RDF, but it isn’t linked data.

#Phase 1 DC-esque
:aBook a ex:Book ;
 ex:title "A doll's house" ;
 ex:originalTitle "Et dukkehjem" ;
 ex:lang "eng" ;
 ex:creator "Henrik Ibsen" ;
 ex:date "2013" ;
 ex:publisher "Sovereign" ;
 ex:placeOfPublication "London" ;
 ex:isbn "978-1-909904-46-0" ;
 ex:binding "Hardback" ;
 ex:pages "122" ;
 ex:ddc "839.822" .

The next phase involves implementing something of FRBR, so that we don’t just have a flat record, but some meaningful structure that can be annotated to provide useful information. Here, we’re explicitly saying that there is a work that is called something in different languages and that it was created in 1879 and that it has an author. We add links that state that there is a realisation of the work. The realisation is similarly annotated. We add some datatypes too, so that the data is more easily understandable. The data links internally, but it isn’t linked data in the sense that it doesn’t link to other things.

#Phase 2 FRBRization
:etDukkehjem a ex:Work ;
 ex:title "Et dukkehjem"@no ;
 ex:title "A doll's house"@en ;
 ex:creator "Henrik Ibsen" ;
 ex:date "1879"^^xsd:gYear ;
 ex:hasRealisation :etDukkehjem_2013.
:etDukkehjem_2013 a ex:Realisation ;
 a ex:Book ;
 ex:isRealisationOf :etDukkehjem ;
 ex:title "A doll's house"@en ;
 ex:creator "Henrik Ibsen" ;
 ex:date "2013"^^xsd:gYear ;
 ex:lang "eng" ;
 ex:publisher "Sovereign" ;
 ex:placeOfPublication "London" ;
 ex:isbn "978-1-909904-46-0" ;
 ex:binding "Hardback" ;
 ex:pages "122"^^xsd:integer ;
 ex:ddc "839.822" .

Next comes real linked data, where we add links that make the data distributed. We assume a world where the resources simply exist (i.e. make them exist if they do not).

#Phase 3 Linked data
:etDukkehjem a ex:Work ;
 ex:title "Et dukkehjem"@no ;
 ex:title "A doll's house"@en ;
 ex:creator <http://authorities.net/person/a324221> ;
 ex:date "1879"^^xsd:gYear ;
 ex:hasRealization :etDukkehjem_2013.
:etDukkehjem_2013 a ex:Realization ; 
  a ex:Book ; ex:title "A doll's house"@en ;
  ex:isRealizationOf :etDukkehjem ;
  ex:creator <http://authorities.net/person/a324221> ;
  ex:date "2013"^^xsd:gYear ;
  ex:lang <http://authorities.net/language/eng> ;
  ex:publisher <http://authorities.net/publisher/a2192121231> ;
  ex:placeOfPublication <http://authorities.net/place/a1231224> ;
  ex:isbn "978-1-909904-46-0" ;
  ex:binding <http://authorities.net/bindings/a12321232> ;
  ex:pages "122"^^xsd:integer ;
  ex:ddc <http://authorities.net/ddc21/a839.822> .

The next phase is to break up the data so this it becomes understandable again. Here, we begin to see the outline of something that actually represents the intent of a catalogue record,  making each access point a thing. Note that there’s an issue with the representation of people (the translator).

#Phase 4 Breaking up is never easy to do
:etDukkehjem a ex:Work ;
 ex:title :standardTitle ;
 ex:hasRealization :etDukkehjem_2013 ;
 ex:creator <http://authorities.net/person/a324221> ;
 ex:date "1879"^^xsd:gYear .
:standardTitle a ex:StandardTitle ;
 ex:value "A doll's house"@en ;
 ex:value "Et dukkehjem"@en .
:etDukkehjem_2013 a ex:Realization ;
 a ex:Book ;
 ex:title "A doll's house"@en ;
 ex:creator "Hendrik Ibsen" ;
 ex:date "2013"^^xsd:gYear ;
 ex:isRealizationOf :etDukkehjem ;
 ex:translator "Stephen Nobody"; #this is wrong as it isn't represented as an authority and doesn't belong to the Work.
 ex:date "2013"^^xsd:gYear ;
 ex:lang <http://authorities.net/language/eng> ;
 ex:publisher <http://authorities.net/publisher/a2192121231> ;
 ex:placeOfPublication <http://authorities.net/place/a1231224> ;
 ex:isbn "978-1-909904-46-0" ;
 ex:binding <http://authorities.net/bindings/a12321232> ;
 ex:pages "122"^^xsd:integer ;
 ex:ddc <http://authorities.net/ddc21/a839.822> .

Finally, we resolve the representation of responsibility by adding proxy classes to represent the access point.

#Phase 5 Approaching consistency (yes!)
:etDukkehjem a ex:Work ;
 ex:title :standardTitle ;
 ex:hasRealization :etDukkehjem_2013 ;
 ex:creator <http://authorities.net/person/a324221> ;
 ex:date "1879"^^xsd:gYear .
:standardTitle a ex:StandardTitle ;
 ex:value "A doll's house"@en ;
 ex:value "Et dukkehjem"@en .
:etDukkehjem_2013 a ex:Realization ;
 a ex:Book ;
 ex:isRealizationOf :etDukkehjem ;
 ex:title "A doll's house"@en ;
 ex:creator [
 a ex:ProxyClass ;
 ex:person <http://authorities.net/person/a324221> ;
 ex:recordedValue "Hendrik Ibsen" 
 ] ;
 ex:date "2013"^^xsd:gYear ;
 ex:isRealizationOf :etDukkehjem ;
 ex:translator [
 a ex:ProxyClass ;
 ex:person <http://authorities.net/person/a6545332> ;
 ex:recordedValue "Stephen Nobody" 
 ] ;
 ex:date "2013"^^xsd:gYear ;
 ex:lang <http://authorities.net/language/eng> ;
 ex:publisher <http://authorities.net/publisher/a2192121231> ;
 ex:placeOfPublication <http://authorities.net/place/a1231224> ;
 ex:isbn "978-1-909904-46-0" ;
 ex:binding <http://authorities.net/bindings/a12321232> ;
 ex:pages "122"^^xsd:integer ;
 ex:ddc <http://authorities.net/ddc21/a839.822> .

The final stage is to represent the cataloguing rules so that we can transparently produce MARC/BIBFRAME records.

#why bother?

Concluding remarks

We went from a flat record as RDF, which is what most people produce, maybe with some links, to a increasingly distributed representation of the data. We approached a model that represented things consistently, but it’s interesting to note that not every “access point” is represented in the same way. Maybe there is a good reason for this. Maybe we need to change the way we think about these things.

From the final structure, it is probably possible to transparently transform the data to BIBFRAME using a SPARQL CONSTRUCT query. From BIBFRAME you can get MARC21. It isn’t that difficult.

Advertisements
Posted in Uncategorized
2 comments on “Thoughts on the proper representation of authorities
  1. petej says:

    Hi Rurik,

    Rather sidestepping your point about Bibframe as I haven’t kept up with developments there in enough detail to comment, I tend to I agree with your point about the usefulness of distinguishing between

    (a) the flesh-and-blood person, who is born/dies, writes books, gives interviews, makes pop tunes etc etc etc and

    (b) the “authority”-as-conceptual-thingummybob-encapsulated-in-library-authority-record, which doesn’t actually have the capability to do things

    And I also think VIAF actually does model that distinction in their data

    e.g. looking at the VIAF RDF for Antonio Negri

    http://viaf.org/viaf/108238827/rdf.xml

    we have a foaf:Person identified by the URI

    http://viaf.org/viaf/108238827

    and we also have a bunch of skos:Concepts identified by URIs like

    http://viaf.org/viaf/sourceID/NKC%7Cxx0083451#skos:Concept

    each corresponding to one of the authority entries aggregated by VIAF from the distributed contributor library authority files.

    And each of those skos:Concept resources is linked to the foaf:Person resource by a triple using the foaf:focus property – which I think is analogous to your ex:person property in your example above)

    I think this does raise some subtle/interesting issues when we come to think about using vocabularies like Dublin Core i.e. properties like dcterms:creator are designed to link a created thing and an agent, not a thing and an authority-as-conceptual-thingummybob. In contrast, I think your ex:creator property does link the created thing and the authority-as-conceptual-thingummybob (instance of your ex:ProxyClass).

    I rambled on about this sort of thing a while ago, mainly fretting about the use of Dublin Core properties, over at

    http://efoundations.typepad.com/efoundations/2011/09/things-their-conceptualisations-skos-foaffocus-modelling-choices.html

    Ah, for the old days when I had time to write rambling blog posts 🙂

    Pete

    • brinxmat says:

      Hi Pete!

      So, are you up for that Hairy Bikers: GLAM-LOD edition?

      Ok, frivolity aside, you raise some interesting points that I have entirely glossed over. I will amend my document accordingly.

      VIAF is an interesting case for a number of reasons, not least because it is not uncommon to entirely ignore the skos/foaf:focus that is actually recorded in each returned record. And simply link directly to the authority as dc:creator; similarly BIBFRAME records bf:Persons as the object of bf:creator.

      In my examples, we work towards a situation where a cluster is recorded: the recorded label and a link to who we think this might be. I largely disagree with the use of SKOS in this respect, as I think these things are plain labels; the semantic content of what the label represents is perhaps interesting, but I have doubts about representing complexities of say “literary personas” based on the data we actually record.

      Reading your document, I understand that this is actually a more radical departure from standard interpretation than I’d realised.

      Thanks,

      R.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s