echo "Processing {$count}: {$id}\n"; if (strlen($row['coinType']) > 0) { $writer->startElement('nmo:NumismaticObject'); $writer->writeAttribute('rdf:about', $row['uri']); $writer->startElement('dcterms:title'); $writer->writeAttribute('xml:lang', 'en'); $writer->text("British Museum: " . $row['regno']); $writer->endElement(); $writer->writeElement('dcterms:identifier', $row['regno']); $writer->startElement('nmo:hasCollection'); $writer->writeAttribute('rdf:resource', 'http://nomisma.org/id/bm'); $writer->endElement(); $writer->startElement('nmo:hasTypeSeriesItem'); $writer->writeAttribute('rdf:resource', $row['coinType']); $writer->endElement(); query_bm($writer, $row['uri']); //void:inDataset $writer->startElement('void:inDataset'); $writer->writeAttribute('rdf:resource', 'http://www.britishmuseum.org/'); $writer->endElement(); //end nmo:NumismaticObject $writer->endElement(); } $count++; } $writer->endElement(); $writer->flush(); function query_bm($writer, $uri) { $db = sparql_connect("http://collection.britishmuseum.org/sparql"); if (!$db) {
<?php require_once "sparqllib.php"; $data = generate_json('refs.csv', false); //$csv = '"ref","title","id"' . "\n"; $csv = ''; $count = 1; foreach ($data as $row) { $textRefs = query_bm($row['uri']); $arrayKeys = array_keys($textRefs); $csv .= '"' . $row['uri'] . '","' . $row['title'] . '","' . $row['id'] . '"'; foreach ($textRefs[$arrayKeys[0]] as $ref) { $pieces = explode('::', $ref); $ref = trim($pieces[1]); $csv .= ',"' . $ref . '"'; } $csv .= "\n"; $count++; echo "{$count}: {$row['uri']}\n"; } file_put_contents('refs-new.csv', $csv); function query_bm($ref) { $textRefs = array(); $db = sparql_connect("http://collection.britishmuseum.org/sparql"); if (!$db) { print sparql_errno() . ": " . sparql_error() . "\n"; exit; } sparql_ns("bmo", "http://collection.britishmuseum.org/id/ontology/"); sparql_ns("ecrm", "http://erlangen-crm.org/current/");