/** * Queries for all resources pointing to the current one, and declares resources. * * @param $resource */ private function removeUplinks(BaseResource $resource) { /** @var Graph $result */ $result = $this->_rm->createQueryBuilder()->construct('?s a ?t; ?p <' . $resource->getUri() . '>')->where('?s a ?t; ?p <' . $resource->getUri() . '>')->getQuery()->execute(); $resources = $result->resources(); /** @var \Conjecto\Nemrod\Resource $re */ foreach ($resources as $re) { $this->registerResource($re); foreach ($result->properties($re->getUri()) as $prop) { if ($prop !== 'rdf:type') { $re->delete($prop); } } } }
/** * @param BaseResource $resource * * @return \Conjecto\Nemrod\Resource */ public function getSnapshot($resource) { //check if $resource is known by getting type. //if uri is not known or result is null, resource is not known try { $typ = $this->get($resource->getUri(), 'rdf:type'); if (!$typ) { return; } } catch (Exception $e) { return; } $res = $this->resource($resource->getUri()); return $res; }