I'd suggest using the VIAF URI as web_tid. Currently, for e.g. John Maynard Keynes, http://viaf.org/viaf/29551966/rdf.xml is stored as web_tid. This URL refers to the XML document about the person designated by http://viaf.org/viaf/29551966. (N.B., this has changed over time, see Jeff Youngs blog entry).

Storing the later uri would allow linking to other entities on the linked data web, as described in #1791038: Using the Linked Data URI as web term tid for web_taxonomy_geonames. An additional advantage could be that content negotiation kicks in, so humen users get a html description of the person, while machines should get rdf/xml. (As described in the API documentation. Unfortunately, this does not work at the time of writing - instead delivers a 404).

So currently you have to request the rdf.xml file explicitly, but hiding this from the users in my eyes would be a good thing.

Comments

jneubert’s picture

As Jeff told me, content negotiation doesn't work currently for the HEAD method; it is working for the actual data. So the following code snippet brings a result:

  // get access to the linked data resource
  $res = ARC2::getResource();
  $res->setURI('http://viaf.org/viaf/29551966');

  // get an array of all foaf names
  $labels = $res->getProps('http://xmlns.com/foaf/0.1/name');

  print_r($labels[0]);

The first foaf:name is the skos:prefLabel from LoC (just by accident ...) To reliably get the skos:prefLabel from your most trusted authority, you'd have to poke much deeper, unfortunately.