【发布时间】:2018-05-16 11:14:50
【问题描述】:
我使用 Wikidata 的目的是为字符串“Scotland”查找属性“type / instance of”、“subclass of”和“part of”(如果存在)的值。
例如,通过手动浏览 Wikidata 的网站,我输入 Scotland,我找到了资源,并且这些数据显示在其中,就像:https://www.wikidata.org/wiki/Q22。因此,我可以看到苏格兰是“英国境内的国家”的一个实例。
SPARQL 中的等效查询是什么?
我尝试了这个“有效”查询,但它是否没有返回任何结果或绕过时间限制:
SELECT ?instanceOf ?subclassOf ?partOf WHERE {
?word rdfs:label ?label;
wdt:P361 ?instanceOf;
wdt:P279 ?subclassOf;
wdt:P361 ?partOf.
FILTER(CONTAINS(?label, "Scotland"))
SERVICE wikibase:label { bd:serviceParam wikibase:language "en".}
}
【问题讨论】:
-
1.标签上的过滤器,像这样,是TimeLimit的原因,它是一个真正的重请求。 2. 你确定关系存在吗? Q22 rdfs:subClassOf 不是例子。
-
如果没有全文索引,这些查询通常会很昂贵......维基数据不托管任何全文索引,因此,在本地建立索引,例如通过 Lucene,然后从公共端点获取数据。
-
感谢您的回复,但实际上我自己找到了解决方案:)。再见!
标签: sparql semantic-web wikidata