0

给定图表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")
    }
}

而这个没有(好吧,从技术上讲,它可以工作,但返回 0 个匹配项)

PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE { 
    GRAPH <http://example.org/> {
        ?model_ic foaf:name "Bob".
    }
}
4

1 回答 1

1

如果名称有任何其他附件,而只是您可能遇到问题的字符串。例如,foaf:name通常会附加一种语言。尝试:

PREFIX foaf:<http://xmlns.com/foaf/0.1/purl>
SELECT *
WHERE { 
GRAPH <http://example.org/> {
    ?model_ic foaf:name "Bob"@en.
}
}
于 2015-05-06T09:46:22.880 回答