} //call function to generate xml $xml = generate_eac($values_with_labels); $id = strtolower(substr(strstr($values_with_labels['dbpedia'], 'resource/'), strpos(strstr($values_with_labels['dbpedia'], 'resource/'), '/') + 1)); $fileName = '/tmp/' . $id . '.xml'; put_to_exist($xml, $id, $fileName); //echo $xml . "\n"; } } //process $identityArray while (list($k, $v) = each($identityArray)) { if (!in_array($k, $processed)) { $array = array('dbpedia' => $k, 'romeemp' => '', 'pas' => '', 'nomisma' => '', 'wikipedia' => '', 'viaf' => '', 'name1' => '', 'name2' => '', 'name3' => ''); $id = strtolower(substr(strstr($array['dbpedia'], 'resource/'), strpos(strstr($array['dbpedia'], 'resource/'), '/') + 1)); $fileName = '/tmp/' . $id . '.xml'; $xml = generate_eac($array); put_to_exist($xml, $id, $fileName); } } function generate_eac($array) { global $identityArray; global $processed; $processed[] = $array['dbpedia']; $id = substr(strstr($array['dbpedia'], 'resource/'), strpos(strstr($array['dbpedia'], 'resource/'), '/') + 1); //load VIAF RDF if (strlen($array['viaf']) > 0) { $viafRDF = new DOMDocument(); $viafRDF->load($array['viaf'] . '/rdf.xml'); $vxpath = new DOMXPath($viafRDF); $vxpath->registerNamespace('rdf', "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
$start = 'http://dbpedia.org/resource/Augustus'; $end = ''; $lang = 'en'; $options = array('internal' => true, 'occupations' => true, 'subjects' => false, 'birth/death places' => true, 'children/parents' => true, 'dynasties' => true, 'successors/predecessors' => true, 'spouses' => true, 'influences' => false, 'resourceRelations' => true, 'thumbnail' => true); //generate EAC-CPF record $xml = generate_eac($start, $end, $lang, $options); //save file $id = strtolower(substr(strstr($start, 'resource/'), strpos(strstr($start, 'resource/'), '/') + 1)); $fileName = 'temp/' . $id . '.xml'; save_file($xml, $id, $fileName); //process $identityArray while (list($k, $v) = each($identityArray)) { if (!in_array($k, $processed)) { $id = strtolower(substr(strstr($k, 'resource/'), strpos(strstr($k, 'resource/'), '/') + 1)); $fileName = 'temp/' . $id . '.xml'; $xml = generate_eac($k, $end, $lang, $options); save_file($xml, $id, $fileName); } } function generate_eac($resource, $end, $lang, $options) { global $identityArray; global $processed; $processed[] = $resource; $id = substr(strstr($resource, 'resource/'), strpos(strstr($resource, 'resource/'), '/') + 1); //load dbpedia RDF $dbRDF = new DOMDocument(); $dbRDF->load('http://dbpedia.org/data/' . $id . '.rdf'); $dxpath = new DOMXpath($dbRDF); $dxpath->registerNamespace('rdf', "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); $dxpath->registerNamespace('dbpedia-owl', "http://dbpedia.org/ontology/");
<?php $all = generate_json('all-names.csv'); $creators = generate_json('distinct-creators.csv'); foreach ($creators as $row) { $xml = generate_eac($row); } function generate_eac($row) { //set EAC-CPF recordId $recordId = $row['id']; echo "Processing {$recordId}\n"; $writer = new XMLWriter(); //$writer->openURI('php://output'); $writer->openURI("eac/{$recordId}.xml"); $writer->startDocument('1.0', 'UTF-8'); $writer->setIndent(4); $writer->startElement('eac-cpf'); $writer->writeAttribute('xmlns', 'urn:isbn:1-931666-33-4'); $writer->writeAttribute('xmlns:xlink', "http://www.w3.org/1999/xlink"); //begin control $writer->startElement('control'); $writer->writeElement('recordId', $recordId); if (strlen($row['viaf']) > 0) { $writer->startElement('otherRecordId'); $writer->writeAttribute('localType', 'owl:sameAs'); $writer->text($row['viaf']); $writer->endElement(); //get owl:sameAs links $doc = new DOMDocument(); $doc->load($row['viaf'] . '/rdf');