EasyRdf 并非旨在处理内存中的大型数据集。在通过其他方式缩小数据集后,它旨在帮助格式化和显示网页上的数据。
我刚刚尝试加载linkedmdb-18-05-2009-dump.nt
到Fuseki。它不喜欢其中的一些三元组——我不得不<http://data.linkedmdb.org/country/iso alpha2>
用<http://data.linkedmdb.org/country/iso#alpha2>
我的文本编辑器替换。之后它加载正常。
我写了一个 SPARQL 查询来查找汤姆汉克斯出演的所有电影,按标签排序:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX lmdb: <http://data.linkedmdb.org/movie/>
SELECT ?film ?label
WHERE {
?film a lmdb:film .
?film rdfs:label ?label .
?film lmdb:actor <http://data.linkedmdb.org/actor/28255> .
}
ORDER BY ?label
然后我编写了以下 PHP 脚本来测试查询加载到 Fuseki 的链接电影数据库数据集:
<?php
require_once realpath(__DIR__.'/..')."/vendor/autoload.php";
$SPARQL_QUERY = file_get_contents('lmdb_query.txt');
$SPARQL_ENDPOINT = 'http://127.0.0.1:3030/ds/sparql';
$sparql = new \EasyRdf\Sparql\Client($SPARQL_ENDPOINT);
$results = $sparql->query($SPARQL_QUERY);
print "<table>\n";
foreach ($results as $row) {
print "<tr> <td>$row->film</td> <td>$row->label</td> </tr>\n";
}
print "</table>\n";