Translate LoC FDDs from Wikidata to fr-org links
ross-spencer opened this issue · 3 comments
ross-spencer commented
Table on Wikidata here.
Example URL to construct: http://www.loc.gov/preservation/digital/formats/fdd/fdd000501.shtml
ross-spencer commented
This looks like a good query
And in PHP:
<?php
class SPARQLQueryDispatcher
{
private $endpointUrl;
public function __construct(string $endpointUrl)
{
$this->endpointUrl = $endpointUrl;
}
public function query(string $sparqlQuery): array
{
$opts = [
'http' => [
'method' => 'GET',
'header' => [
'Accept: application/sparql-results+json'
],
],
];
$context = stream_context_create($opts);
$url = $this->endpointUrl . '?query=' . urlencode($sparqlQuery);
$response = file_get_contents($url, false, $context);
return json_decode($response, true);
}
}
$endpointUrl = 'https://query.wikidata.org/sparql';
$sparqlQueryString = <<< 'SPARQL'
SELECT ?item ?puid ?ldd WHERE
{
?item wdt:P31*/wdt:P279* wd:Q235557.
?item wdt:P2748 ?puid .
?item wdt:P3266 ?ldd .
}
SPARQL;
$queryDispatcher = new SPARQLQueryDispatcher($endpointUrl);
$queryResult = $queryDispatcher->query($sparqlQueryString);
var_export($queryResult);
ross-spencer commented
The alternative is to look up an FDD link per PUID:
SELECT ?format ?puid ?ldd WHERE
{
?format wdt:P2748 "fmt/134".
?format wdt:P2748 ?puid .
?format wdt:P3266 ?ldd .
}
ross-spencer commented
Resolved by #8