首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用EasyRdf获取SPARQL查询结果

如何使用EasyRdf获取SPARQL查询结果
EN

Stack Overflow用户
提问于 2016-09-08 02:23:09
回答 1查看 541关注 0票数 0

使用EasyRdf,我想要获取查询结果。我在代码点火器中使用了下面的代码:

代码语言:javascript
复制
$this->load->library('rdf');
EasyRdf_Namespace::set('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns');
EasyRdf_Namespace::set('srt', 'http://persuratan-semweb.dev/ontologies/surat.owl');
$sparql = new EasyRdf_Sparql_Client('http://localhost:3030/surat_single/sparql');

$query = "SELECT * WHERE { "
            . "?surat rdf:type srt:Surat . "
            . "?surat srt:sifat_surat ?sifat_surat . "
            . "?surat srt:nomor_surat ?nomor_surat . }";
$result = $sparql->query($query);

echo "jumlah data: " . $result->numRows() . "<br>";
echo "<br>";

foreach ($result as $row) {
    echo $row->sifat_surat . " " .$row->sifat_surat . " " . $row->nomor_surat ."<br>";
}

print_r($result);

我得到的输出是:

代码语言:javascript
复制
jumlah data: 0

EasyRdf_Sparql_Result Object ( 
    [type:EasyRdf_Sparql_Result:private] => bindings
    [boolean:EasyRdf_Sparql_Result:private] =>
    [ordered:EasyRdf_Sparql_Result:private] =>
    [distinct:EasyRdf_Sparql_Result:private] =>
    [fields:EasyRdf_Sparql_Result:private] => Array ( 
        [0] => surat
        [1] => sifat_surat 
        [2] => nomor_surat 
    ) 
    [storage:ArrayIterator:private] => Array ( )
)

我也尝试了约书亚的解决方案给这里,但得到了类似的输出。我还在Fuseki端点中尝试我的查询(我使用的是Fuseki ),并得到了这个结果。我完全是语义网的初学者。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-08 15:17:30

我不知道这是否是答案,但这些名称空间在我看来并不正确:

代码语言:javascript
复制
EasyRdf_Namespace::set('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns');
EasyRdf_Namespace::set('srt', 'http://persuratan-semweb.dev/ontologies/surat.owl');

rdf命名空间的末尾应该有一个#,您可能也应该有一个OWL文件:

代码语言:javascript
复制
EasyRdf_Namespace::set('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
EasyRdf_Namespace::set('srt', 'http://persuratan-semweb.dev/ontologies/surat.owl#');

但是,尽管如此,您没有理由不能先尝试一个简单的查询。为什么不直接跑

代码语言:javascript
复制
SELECT ?s ?p ?o { ?s ?p ?o }

以确保您能够得到结果,以及数据是什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39381649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档