【问题标题】:Getting statements from redland hash storage从 redland 哈希存储中获取语句
【发布时间】:2011-05-04 11:35:28
【问题描述】:

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 存储,上面的代码有效:/

【问题讨论】:

    标签: php-5.3 redland


    【解决方案1】:

    最好在语义溢出或 redland-dev 列表中询问。

    最有可能的是模型没有数据。

    使用一些 librdf 函数来打印模型或使用序列化器。

    尝试使用test.php 获取https://github.com/dajobe/redland-bindings/tree/master/php 中的指针

    【讨论】:

    • 在发出查询之前我是否必须明确地从存储中加载数据?
    • 刚刚使用 postgresql 存储再次检查了相同的代码,并且查询正常工作:/
    • 是的,您必须先将数据加载到存储(RDF 数据集)中,然后才能对其进行查询。
    • erm... 存储中已经有数据(我使用相同的代码来填充哈希和 postgresql 存储),但后来我只设法从 postgresql 存储中检索它们(在另一个脚本中) ://
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 2010-12-19
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多