Sparql 链接电影数据库上的限制为2500
现在我正在开发一个用于查询LMDB的应用程序。LMDB为结果设置了Sparql 链接电影数据库上的限制为2500,sparql,linkedmdb,Sparql,Linkedmdb,现在我正在开发一个用于查询LMDB的应用程序。LMDB为结果设置了限制,以防止页面崩溃(最多2500个结果)。我想查询整个LMDB,我想知道是否有办法获得LMDB中的全部数据,而不仅仅是有限的2500个结果 我运行的查询: PREFIX mdb: <http://data.linkedmdb.org/resource/movie/film> PREFIX dc: <http://purl.org/dc/terms/> SELECT ?movieName ?resour
限制
,以防止页面崩溃(最多2500个结果)。我想查询整个LMDB,我想知道是否有办法获得LMDB中的全部数据,而不仅仅是有限的2500个结果
我运行的查询:
PREFIX mdb: <http://data.linkedmdb.org/resource/movie/film>
PREFIX dc: <http://purl.org/dc/terms/>
SELECT ?movieName ?resource WHERE {
?resource dc:title ?movieName .
?resource mdb:id ?uri .
FILTER regex(?movieName,'The Mexican', 'i')}
前缀mdb:
前缀dc:
选择“movieName”资源,其中{
?资源dc:标题?movieName。
?资源mdb:id?uri。
过滤正则表达式(?movieName,'themexican','i')}
我没有结果
如果我更改最后一行:
FILTER regex(?movieName,'themexican','i')}
to?资源dc:title'themexican'
我得到了想要的结果。这意味着关于这部电影的数据实际上在LMDB中,但由于限制
我无法访问所有条目,除非我键入我正在搜索的电影的确切名称
我正在构建的应用程序使用搜索字段,我不能期望用户知道电影的确切名称,这就是我使用FILTER regex()
的原因
解决这个问题的方法是什么?请帮帮我。
我应该下载本地副本并对其运行查询,还是有其他方法
我想就此联系LMDB的工作人员,但我找不到任何有意思的联系信息。。。这是有效的:
其中{资源rdfs:label'themexican'。资源dc:title?movieName.FILTER(REGEX(?movieName,'themexican','i'))}
。这不起作用:WHERE{?resource dc:title?movieName。?resource rdfs:label'The Mexican'。FILTER(REGEX(?movieName,'The Mexican','i'))}
它由D2R支持,因此,可能存在许多限制。理想情况下,您应该将数据集放入自己的三重存储中,大多数都会表现得更好。顺便说一句,我希望您知道数据集已经过时,永远不会被更新?最后一次更新是我想从2014年开始,我应该使用哪些技术来制作自己的triple store,在哪里可以找到LMDB的副本,我可以下载?有谁能帮我吗?@JohnDoe,我已经删除了我的答案。LinkedMDB似乎将任何基本图形模式(即一组简单的三重模式)的绑定数量限制为2500个。缩小绑定数量(添加?resource a db:film
)对于您的用例来说是不可靠的。