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/");