显然是不必要的 SPARQL 过滤器
apparently unnecessary SPARQL filter
给定图表 http://example.org/ 为:
@prefix foaf:<http://xmlns.com/foaf/0.1/purl>.
<uri:alice> foaf:name "Alice".
<uri:bob> foaf:name "Bob".
<uri:carl> foaf:name "Carl".
为什么这个 SPARQL 查询有效:
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name ?name.
FILTER (?name = "Bob")
}
}
而这个没有(好吧,从技术上讲它有效,但 returns 0 个匹配)
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name "Bob".
}
}
如果名称有任何其他附件而不仅仅是字符串,您可能会遇到问题。例如,foaf:name
通常附有语言。尝试:
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name "Bob"@en.
}
}
给定图表 http://example.org/ 为:
@prefix foaf:<http://xmlns.com/foaf/0.1/purl>.
<uri:alice> foaf:name "Alice".
<uri:bob> foaf:name "Bob".
<uri:carl> foaf:name "Carl".
为什么这个 SPARQL 查询有效:
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name ?name.
FILTER (?name = "Bob")
}
}
而这个没有(好吧,从技术上讲它有效,但 returns 0 个匹配)
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name "Bob".
}
}
如果名称有任何其他附件而不仅仅是字符串,您可能会遇到问题。例如,foaf:name
通常附有语言。尝试:
PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE {
GRAPH <http://example.org/> {
?model_ic foaf:name "Bob"@en.
}
}