public function testDeepDeleteTriples()
 {
     list($file, $resource) = $this->getResource('/sample/test.xml');
     //delete resource
     DeleteHelper::deepDeleteTriples($resource->getRdfTriples());
     //see if all is deleted
     $this->assertCount(0, $resource->getRdfTriples());
     $this->assertFalse($file->exists());
 }
 public function testDeepDeleteTriples()
 {
     //create resources
     $repository = \tao_models_classes_FileSourceService::singleton()->addLocalSource("Label Test", \tao_helpers_File::createTempDir());
     $file = $repository->createFile("test.xml", "sample");
     //delete resource
     DeleteHelper::deepDeleteTriples($file->getRdfTriples());
     DeleteHelper::deepDeleteTriples($repository->getRdfTriples());
     //see if all is deleted
     //try to get the resource
     $resourceTest = new \core_kernel_classes_Resource($repository->getUri());
     $fileTest = new \core_kernel_classes_Resource($file->getUri());
     $this->assertCount(0, $resourceTest->getRdfTriples());
     $this->assertCount(0, $fileTest->getRdfTriples());
 }
 public function apply(core_kernel_classes_Resource $resource, $ownerId, $release = true)
 {
     $lock = $this->getLockData($resource);
     if ($lock === false) {
         return false;
     }
     if ($lock->getOwnerId() !== $ownerId) {
         throw new \common_exception_Unauthorized("The resource is owned by " . $lock->getOwnerId());
     }
     \common_Logger::i('Applying changes to ' . $resource->getUri());
     $innerModel = $this->getInnerModel();
     $triples = $innerModel->getRdfsInterface()->getResourceImplementation()->getRdfTriples($resource);
     // bypasses the wrapper
     DeleteHelper::deepDeleteTriples($triples);
     $triples = $this->getWorkspaceModel()->getRdfsInterface()->getResourceImplementation()->getRdfTriples($lock->getWorkCopy());
     $clones = CloneHelper::deepCloneTriples($triples);
     foreach ($clones as $triple) {
         $triple->modelid = $innerModel->getNewTripleModelId();
         $triple->subject = $resource->getUri();
         $innerModel->getRdfInterface()->add($triple);
     }
     if ($release) {
         $this->release($lock);
     }
 }