/** * Export to xml-rdf the ontology of the Class in parameter. * All the ontologies are exported if the class is not set * * @access public * @author Jerome Bogaerts, <*****@*****.**> * @param Class source * @return string */ public function export(core_kernel_classes_Class $source = null) { $rdf = ''; if (is_null($source)) { return core_kernel_api_ModelExporter::exportAll(); } $graph = new EasyRdf_Graph(); if ($source->isClass()) { $this->addClass($graph, $source); } else { $this->addResource($graph, $source); } $format = EasyRdf_Format::getFormat('rdfxml'); return $graph->serialise($format); }
/** * build xml rdf containing rdf:Description of all meta-data the conected * may get * * @deprecated * @access public * @author firstname and lastname of author, <*****@*****.**> * @param array sourceNamespaces * @return string */ public function exportXmlRdf($sourceNamespaces = array()) { $modelIds = array(); foreach ($sourceNamespaces as $namespace) { if (!preg_match("/\\#\$/", $namespace)) { $namespace .= "#"; } $result = $dbWrapper->query('SELECT * FROM "models" WHERE "modeluri" = ?', array($namespace)); if ($row = $result->fetch(PDO::FETCH_ASSOC)) { $modelIds[] = $row['modelid']; $result->closeCursor(); } } return $xml = core_kernel_api_ModelExporter::exportXmlRdf($modelIds); }
public function testFullExport() { $dbWrapper = core_kernel_classes_DbWrapper::singleton(); $result = $dbWrapper->query('SELECT count(*) FROM (SELECT DISTINCT subject, predicate, object, l_language FROM statements) as supercount')->fetch(); $triples = $result[0]; $result = $dbWrapper->query('SELECT modelid FROM "models"'); $modelIds = array(); while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $modelIds[] = $row['modelid']; } $xml = core_kernel_api_ModelExporter::exportModels($modelIds); $doc = new DOMDocument(); $doc->loadXML($xml); $count = 0; $descriptions = $doc->getElementsByTagNameNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'Description'); foreach ($descriptions as $description) { foreach ($description->childNodes as $child) { if ($child instanceof DOMElement) { $count++; } } } $this->assertEquals($triples, $count); }
} if (isset($_GET['nameMode'])) { $_GET['nameMode'] == 'long' ? $nameMode = 'long' : ($nameMode = 'short'); } } if (!is_dir($exportDir)) { out("{$exportDir} is not a directory"); exit; } $api = core_kernel_impl_ApiModelOO::singleton(); $nsManager = common_ext_NamespaceManager::singleton(); $namespaces = $nsManager->getAllNamespaces(); //$namespaces = array(LOCAL_NAMESPACE); foreach ($namespaces as $namespace) { out("Exporting {$namespace}"); $rdfData = core_kernel_api_ModelExporter::exportModelByUri($namespace); if (empty($rdfData)) { out("Nothing exported!"); continue; } if ($nameMode == 'long') { $filename = str_replace('/', '_', str_replace('#', '', $namespace)); } else { $filename = str_replace('#', '', strtolower(basename($namespace))); } if (!preg_match("/\\.rdf\$/", $filename)) { $filename .= '.rdf'; } $path = tao_helpers_File::concat(array($exportDir, $filename)); if (file_put_contents($path, $rdfData) != false) { out("Namespace exported at {$path}");