在SPARQL 查询示例中,有一个针对美国总统和配偶的查询:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
SELECT ?p ?w ?l ?wl WHERE {
wd:Q30 p:P6/v:P6 ?p .
?p wdt:P26 ?w .
OPTIONAL {
?p rdfs:label ?l filter (lang(?l) = "en") .
}
OPTIONAL {
?w rdfs:label ?wl filter (lang(?wl) = "en").
}
}
它包含类似函数的语法,lang(?l)
旨在按语言进行过滤。
这是如何运作的?这是Blazegraph的特殊功能吗?还是不同的语言在 RDF 图中存储为正常值?
如何以这种方式存储数据,以便使用lang
函数正确检索数据?
我可以有自己的函数来拥有 ND 谓词,比如probability(?a) > 0.8
?