从 redland 哈希存储获取语句
librdf_model_add 是否将语句写入哈希存储?
我在运行 sparql 查询来检索它们时遇到问题。数据库文件可能会随着文件大小的不断增加而填充,但是当我尝试对它们执行 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 版本是在 Ubuntu Natty 下运行的 1.0.12。
p/s:我再次检查了 postgresql 存储,上面的代码有效:/
Is librdf_model_add writing the statements into the hash-storage?
I am having problem to run a sparql query to retrieve them. The db files are probably populated as their file size keep increasing, but when I attempt to perform sparql query to them I don't seem to get any result. Do I need to load the statements from the storage into the model manually before issuing a query?
the statement that issue the query
$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
I am using PHP (5.3.5) language binding, and my redland version is 1.0.12 running under Ubuntu Natty.
p/s: I checked again with postgresql storage, and the above code works :/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题最好在语义溢出或 redland-dev 列表上询问。
最有可能的是模型没有数据。
使用一些 librdf 函数打印模型或使用序列化器。
尝试使用
test.php
获取 https:// 中的指针github.com/dajobe/redland-bindings/tree/master/phpThis is better asked on semantic overflow or the redland-dev list.
The most likely thing is the model has no data.
Use some of the librdf functions to print out the model or use a serializer.
Try the
test.php
for pointers in https://github.com/dajobe/redland-bindings/tree/master/php