gpt4 book ai didi

SPARQL filter lang 'en' 给出其他语言

转载 作者:行者123 更新时间:2023-12-03 21:43:32 26 4
gpt4 key购买 nike

下面的 SPARQL 查询没有得到我想要的结果,因为它们是英语以外的其他语言,不管 filter lang 'en' (请参阅查询中的过滤器)。

查询结果:

"Никола́й Ива́нович Буха́рин"@en    "Никола́й Буха́рин"@en  "Nikolai Bukharin"@en
"Gamal Abdel Nasser Hussein"@en "جمال عبد الناصر"@en "Gamal Abdel Nasser"@en

我查看了 DBpedia 页面,我看到有英文版的名称,但我不明白为什么过滤器不起作用!!!

有人可以帮我吗?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/property/>
SELECT DISTINCT ?person ?birthname ?nameExact ?label
where {

?person rdf:type dbpedia-owl:Person .
?person rdfs:label ?label .
OPTIONAL { ?person dbpedia-owl:birthName ?birthname . }
OPTIONAL { ?person dbpprop:name ?nameExact . }

FILTER (lang(?birthname) = 'en')
FILTER (lang(?label) = 'en')
FILTER (lang(?nameExact) = 'en')

}
LIMIT 300

最佳答案

请注意,要添加前缀,您必须在声明和查询中使用相同的内容( dbo -> dbo ,而不是 dbo -> dbpedia-owl )

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>

SELECT DISTINCT ?person ?birthname ?nameExact ?label
where {

?person rdf:type dbo:Person .
?person rdfs:label ?label .
OPTIONAL { ?person dbo:birthName ?birthname . }
OPTIONAL { ?person dbp:name ?nameExact . }

FILTER (lang(?birthname) = 'en')
FILTER (lang(?label) = 'en')
FILTER (lang(?nameExact) = 'en')

}

LIMIT 300

关于SPARQL filter lang 'en' 给出其他语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com