Example #1
0
 protected static function logDiff(\helpers_RdfDiff $diff)
 {
     $folder = FILES_PATH . 'updates' . DIRECTORY_SEPARATOR;
     $updateId = time();
     while (file_exists($folder . $updateId)) {
         $count = isset($count) ? $count + 1 : 0;
         $updateId = time() . '_' . $count;
     }
     $path = $folder . $updateId;
     if (!mkdir($path, 0700, true)) {
         throw new \common_exception_Error('Unable to log update to ' . $path);
     }
     FileModel::toFile($path . DIRECTORY_SEPARATOR . 'add.rdf', $diff->getTriplesToAdd());
     FileModel::toFile($path . DIRECTORY_SEPARATOR . 'remove.rdf', $diff->getTriplesToRemove());
 }
use oat\generis\model\kernel\persistence\file\FileIterator;
use oat\tao\model\extension\ExtensionModel;
use oat\tao\scripts\update\ModelFixer;
require_once dirname(__FILE__) . '/../includes/raw_start.php';
$persistence = common_persistence_SqlPersistence::getPersistence('default');
$smoothIterator = new core_kernel_persistence_smoothsql_SmoothIterator($persistence, array(1));
$count = 0;
foreach ($smoothIterator as $triple) {
    $count++;
}
echo PHP_EOL . $count . ' user triples in ontology' . PHP_EOL;
$modelIds = array_diff(core_kernel_persistence_smoothsql_SmoothModel::getReadableModelIds(), core_kernel_persistence_smoothsql_SmoothModel::getUpdatableModelIds());
$smoothIterator = new core_kernel_persistence_smoothsql_SmoothIterator($persistence, $modelIds);
$count = 0;
foreach ($smoothIterator as $triple) {
    $count++;
}
echo PHP_EOL . $count . ' system triples in ontology' . PHP_EOL;
$files = array();
$rdfIterator = new AppendIterator();
foreach (common_ext_ExtensionsManager::singleton()->getInstalledExtensions() as $ext) {
    $model = new ExtensionModel($ext);
    $rdfIterator->append($model);
}
$count = 0;
foreach ($rdfIterator as $triple) {
    $count++;
}
echo PHP_EOL . $count . ' triples in rdfs' . PHP_EOL;
$diff = helpers_RdfDiff::create($smoothIterator, $rdfIterator);
echo PHP_EOL . 'Diff: ' . PHP_EOL . $diff->dump();