SPARQL - 从String获取实体类型

时间:2018-05-16 11:14:51

标签: sparql semantic-web wikidata

我使用维基数据的目的是为字符串"苏格兰"找到"类型/实例","子类的值的" """的一部分如果它们存在。

例如,通过浏览维基数据网站,我输入苏格兰,我找到了资源,这些数据显示在其中,就像: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".}
}

Try it here

1 个答案:

答案 0 :(得分:1)

如果您现在苏格兰在wikidata上已Entity Q22,则可以使用https://www.wikidata.org/wiki/Special:EntityData/Qxxxxx.json网址检索与苏格兰相关的所有statements,而不使用SQARQL:https://www.wikidata.org/wiki/Special:EntityData/Q22.json

另请参阅:WikiData帮助中的About Data

要按字符串搜索匹配的实体,请使用wbsearchentities REST API,例如:https://www.wikidata.org/w/api.php?action=wbsearchentities&search=scotland&language=en