Deutsche Nationalbibliothek (German National Library) and hbz are working on a service1 which aims to facilitate the linking of data from different catalogues (whether library catalogues or union catalogues) by providing matching information about different records.
For this project we - amongst other things - need to link catalog entries to the bibliograhic identifiers in them. (There are a lot of identifiers in the realm of bibliographic data: widely known identifiers like ISBN, ISSN, DOI, URN, Handle, OCLC number, LCCN and many more local, regional and national identifiers. Some of them identify a bibliographic record while others identify the described bibliographic entity - which doesn't make it easier in a LOD context.)
The question here is how to represent a link in RDF from a record or a bibliographic resource to the associated identifiers. We have to decide between 1.) using individual predicates for each identifier or 2.) using the global predicate dc:identifier and characterizing the identifier more precisely through an xsd data type.
Here is an example for each approach:
1. The "predicate approach"
2. The "datatype approach"
What do you think is the way to go: Creating an XSD or a vocabulary?
asked 10 Mar '11, 14:28
The predicate approach. Make them subproperties of
answered 11 Mar '11, 00:59
I would prefer to define specific sub properties of dc:identifier for that issue, e.g., as it is already done in the Bibliographic Ontology*, for example, bibo:isbn. I guess, the query time would be a bit shorter in this case.
*) Their super property for that issue is called bibo:indentifier (who knows why it is not aligned to dc:indentifier)
PS: You do not create an "XSD". However, you utilize an identifier for a datatype. This can be a predefined one from the XSD namespace or a selfdefined one from your own (/any other) namespace.
PPS: If you are not already aware of this initiate, the W3C Library Linked Data Incubator Group might be interesting for you.
Actually, if you use literal identifiers, it doesn't matter that much whether you enrich them with a property or a datatype. In both cases it requires additional domain knowledge to make use of them beyond a simple display for human consumption. You could infer some kind of identity if two resources have the same identifier of the same datatype and/or the same property, but I doubt that this is done for the general case in practice. But there is also:
3. The "URI approach"
There already are URI forms of many identifier systems and for the rest you can create URI schemes. Not all of them are HTTP URIs, but preferring literal strings over non-HTTP-URIs seems to contradict the whole idea of RDF.
means more or less:
In the modeling I would go with the "predicate" approach because
I might then still use the xsd properties if that would make identifier validation easier. e.g. hypothetical example: an identifier for xsd:BVN must start with BV.
This answer is marked "community wiki".
My preference would be to use dcterms:identifier until it becomes clear that you need something more. I also think it makes sense to express the identifier as a URI wherever possible, e.g.
<http://opac.bib-bvb.de:8080/InfoGuideClient.fasttestsis/start.do?Query=-1="BV035542944> dcterms:identifier <info:oclcnum/991052625> .
answered 10 Mar '11, 22:12