/** * (non-PHPdoc) * @see \oat\generis\model\data\RdfInterface::add() */ public function add(\core_kernel_classes_Triple $triple) { if (!in_array($triple->modelid, $this->model->getReadableModels())) { $this->model->addReadableModel($triple->modelid); } $query = "INSERT INTO statements ( modelId, subject, predicate, object, l_language, epoch) VALUES ( ? , ? , ? , ? , ? , ?);"; $success = $this->getPersistence()->exec($query, array($triple->modelid, $triple->subject, $triple->predicate, $triple->object, is_null($triple->lg) ? '' : $triple->lg, $this->getPersistence()->getPlatForm()->getNowExpression())); if ($triple->predicate == RDFS_SUBCLASSOF || $triple->predicate == RDF_TYPE) { $eventManager = $this->getServiceManager()->get(EventManager::CONFIG_ID); $eventManager->trigger(new ResourceCreated(new core_kernel_classes_Resource($triple->subject))); } return $success; }
public static function getOrderQuery(SmoothModel $model, $order, $lang = '') { $persistence = $model->getPersistence(); $sqlLang = ''; if (empty($lang) === false) { $sqlEmptyLang = $persistence->quote(''); $sqlRequestedLang = $persistence->quote($lang); $sqlLang = " AND (orderq.l_language = {$sqlEmptyLang} OR orderq.l_language = {$sqlRequestedLang})"; } $orderPredicate = $persistence->quote($order); $sqlOrderFilter = "INNER JOIN statements AS orderq" . PHP_EOL . "ON s.subject = orderq.subject" . PHP_EOL . "AND orderq.predicate = {$orderPredicate}{$sqlLang}" . PHP_EOL; return $sqlOrderFilter; }
protected function getNewTripleModelId() { return $this->model->getNewTripleModelId(); }