/**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 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);
 }
Example #4
0
    }
    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}");