#php-5.3 #redland
#php-5.3 #redland
Вопрос:
Записывает ли librdf_model_add инструкции в хэш-хранилище?
У меня возникла проблема с запуском запроса sparql для их извлечения. Файлы db, вероятно, заполняются, поскольку их размер файла продолжает увеличиваться, но когда я пытаюсь выполнить запрос sparql к ним, я, похоже, не получаю никакого результата. Нужно ли загружать инструкции из хранилища в модель вручную перед отправкой запроса?
инструкция, которая выдает запрос
$query = librdf_new_query(
$world,
'sparql',
NULL,
<<<SPARQL
PREFIX sensei: <http://coolsilon.com/flickr_schema/>
SELECT ?a ?c
WHERE {?a ?b ?c}
SPARQL
,
NULL
);
$result = librdf_query_execute($query, $model);
var_dump(librdf_query_results_get_count($result)); // returns 0
Я использую привязку к языку PHP (5.3.5), и моя версия redland 1.0.12 работает под управлением Ubuntu Natty.
p / s: Я снова проверил с хранилищем postgresql, и приведенный выше код работает :/
Ответ №1:
Этот вопрос лучше задать в semantic overflow или redland-dev list.
Скорее всего, в модели нет данных.
Используйте некоторые функции librdf для распечатки модели или используйте сериализатор.
Попробуйте test.php
найти указатели в https://github.com/dajobe/redland-bindings/tree/master/php
Комментарии:
1. должен ли я явно загружать данные из хранилища перед отправкой запроса?
2. только что снова проверил тот же код с хранилищем postgresql, и запрос просто работает :/
3. Да, вы должны загрузить данные в хранилище (набор данных RDF), прежде чем сможете выполнять к нему запросы.
4. эмм … в хранилище уже есть данные (я использовал тот же код для заполнения как хэша, так и хранилища postgresql), но тогда мне удалось извлечь их (в другом скрипте) только из хранилища postgresql :/