Php EasyRdf内存耗尽
我正在使用EasyRdf库使用链接的电影数据库。 第一次尝试时,它给出了错误的最大内存利用率,然后我将内存限制设置为999G,这耗尽了我的电脑。 下面是我使用数据库文件的代码和URL 下载后本地使用的链接电影数据库link()Php EasyRdf内存耗尽,php,yii2,easyrdf,Php,Yii2,Easyrdf,我正在使用EasyRdf库使用链接的电影数据库。 第一次尝试时,它给出了错误的最大内存利用率,然后我将内存限制设置为999G,这耗尽了我的电脑。 下面是我使用数据库文件的代码和URL 下载后本地使用的链接电影数据库link() $query1 =file_get_contents(Yii::getAlias('@app').'\web\rdfs\linkedmovies1.txt'); $foaf = new \EasyRdf\Sparql\Client($url);
$query1 =file_get_contents(Yii::getAlias('@app').'\web\rdfs\linkedmovies1.txt');
$foaf = new \EasyRdf\Sparql\Client($url);
$result = $foaf->query($query1);
echo "<pre>";
print_r($result);
$query1=file_get_contents(Yii::getAlias('@app')。\web\rdfs\linkedmovies1.txt');
$foaf=new\EasyRdf\Sparql\Client($url);
$result=$foaf->query($query1);
回声“;
打印(结果);
需要一些提示来执行此操作。EasyRdf不是为处理内存中的大型数据集而设计的。在数据集通过其他方式缩小后,它旨在帮助格式化和显示网页上的数据 我刚刚尝试将
linkedmdb-18-05-2009-dump.nt
加载到。它不喜欢某些三元组-我必须使用文本编辑器将
替换为
。在那之后,它装载得很好
我编写了一个SPARQL查询,以查找Tom Hanks主演的所有电影,按标签排序:
前缀rdfs:
前缀lmdb:
选择“胶片”标签
在哪里{
?胶片lmdb:胶片。
?胶片rdfs:标签?标签。
?电影lmdb:演员。
}
按标签订购
然后我编写了以下PHP脚本来测试查询加载到Fuseki中的链接电影数据库数据集:
linkedmovies1.txt的内容是什么?您正在使用哪个SPARQL引擎?前缀foaf:SELECT?s?p?o WHERE{?s?p?o.}您的意思是我需要使用ApacheJena Fuseki?他们在PHP中有其他选择吗?
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