We have revised our approach to linked data in VIAF. Our original approach used an unusual naming convention for the resources being described (in VIAF's case the main resources so far are personae) and exposed the information as a skos:Concept.
We wanted to retain the SKOS description (suitably revised), but also want to describe the VIAF concept as FOAF and expose more of the VIAF data in a more 'native VIAF' form. We do this by minting some new URIs that the RDF describes:
http://viaf.org/viaf/99366184 is a viaf:NameAuthorityCluster,
http://viaf.org/viaf/99366184/#skos:Concept is a SKOS Concept
and http://viaf.org/viaf/99366184/#foaf:Person is a FOAF Person.
You can retrieve several views of the VIAF clusters either through HTTP content negotiation or by explicitly asking from them. Here are the main views:
http://viaf.org/viaf/99366184 is the 'real world object', a concept. On resolution it does a 303 redirect to
http://viaf.org/viaf/99366184/ The generic document. From here you can do HTTP content negotiation for
text/html: http://viaf.org/viaf/99366184/viaf.html An HTML view of the cluster
text/xml: http://viaf.org/viaf/99366184/viaf.xml The raw XML of a VIAF cluster
application/marc21+xml: http://viaf.org/viaf/99366184/marc21.xml A MARC-21 view
application/unimarc+xml: http://viaf.org/viaf/99366184/unimarc.xml UNIMARC
application/rdf+xml: http://viaf.org/viaf/99366184/rdf.xml RDF as XML
The RDF is substantially changed. Much of it describes a viaf:NameAuthorityCluster as laid out in http://viaf.org/viaf.owl and http://viaf.org/viaf.jpg.
There is still more to be done. Some of the resources identified in the RDF do not resolve yet (in particular the AuthorityAgency's), and some of the internal RDF URI's are not legal URI's because of character issues, but we think what we have is usable, and are interested in getting reactions to it.
Thanks to Jeff Young and Ralph LeVan who did most/all the work on data modeling and implementation and Andy Houghton who tries to keep us honest.
--Th
http://viaf.org/viaf/99366184 is the 'real world object', a concept. On resolution it does a 303 redirect to http://viaf.org/viaf/99366184/ the generic document.
That seems extremely error-prone. Why not URIs that are more clearly distinguishable, something like http://viaf.org/viaf/99366184 and http://viaf.org/viaf/99366184/document?
Response: We've gone back and forth on this. Granted, the difference between viaf/123 and viaf/123/ is subtle, but since the only clients that care are probably those interested in the RDF, we decided there wouldn't be much confusion. People are used to similar sorts of redirection happening on URLs in their browsers all the time.
--Th
Posted by: Ryan Shaw | May 27, 2010 at 19:59
Thanks for your writing about VIAF.
Checking out the RDF representation of the links above - e.g. by doing this:
curl -H "Accept: application/rdf+xml" http://viaf.org/viaf/99366184/
The RDF/XML returned has relative links in some of the rdf:about statements - e.g. "viaf/99366184/#etcetc"
Shouldn't the links be qualified / absolute - e.g. "/viaf/99366184/#etcetc" or "http://viaf.org/viaf/etc" ?
Response: We like relative URIs. It keeps everything shorter and more portable. The xml:base ( of http://viaf.org/) in the rdf:RDF should take care of making everything work.
--Th
Posted by: Metazool | May 28, 2010 at 04:59
The same problem with relative links also appears on the HTML view of the record, in the "Record Views" section with links to other XML formats.
Response: You are correct, the HTML is wrong. We'll fix that right away. Thanks!
--Th
Posted by: Metazool | May 28, 2010 at 06:34