我刚刚使用此查询在DBPedia图上插入了一个节点:
INSERT DATA {
GRAPH <http://dbpedia.org> {
<http://my.semantics/resources/California%20Assn.%20Of%20Realtors> a dbpedia-owl:Organisation;
rdfs:label 'California Assn. Of Realtors'@en .
}}
它工作正常。当我尝试:
SELECT ?label
WHERE {
<http://semantics.twist.systems/resources/California%20Assn.%20Of%20Realtors> rdfs:label ?label . }
结果重新开始:California Assn. Of Realtors
。
但每当我尝试这样的事情:
select ?label
where
{<http://semantics.twist.systems/resources/California%20Assn.%20Of%20Realtors> rdfs:label ?label .
?label bif:contains 'California' .}
什么都没有归还。
我错过了什么?
我不知道你的bif的原因:在virtuoso上包含问题。但你可以改用正则表达式。看看这里:https://coderwall.com/p/4v5b5w/sparql-free-text-search-instead-of-regex
我通常使用FILTER +正则表达式来解决像你这样的问题。在正则表达式上下文中,通常使用str(...)。
希望这会有所帮助。