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();