我在语义网上做项目,我使用SPARQL查询rdf数据。我在netbeans中使用java,我的问题是我的程序运行,输入rdf文件并执行查询,但我的查询的 WHERE区域不被视为。 (即)我得到一个空表作为输出
您能否告诉我任何有关 JARA中的SPARQL语法的建议,以便从rdf文件中检索所有姓名,电话号码
答案 0 :(得分:1)
“我的查询的区域不被考虑。(即)我得到一个空表作为输出”
我怀疑WHERE
条款没有被考虑。空表建议a)您没有数据或b)您的查询没有匹配。
检索所有姓名和电话号码取决于所使用的词汇,但最常见的是foaf:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name, ?number
WHERE
{
?person foaf:name ?name .
?person foaf:phone ?number .
}
我们需要更多信息,所以这里有一些通用建议:
SELECT * WHERE { ?s ?p ?o }
。这会得到结果吗?如果没有,请尝试...... SELECT * WHERE { graph ?g { ?s ?p ?o } }
。这会得到结果吗?如果两者都不起作用,您可能会遇到数据问题。如果只有第二个获得结果,则检查您是否正在查询图表。
这将让您对任何方式加载的内容有所了解。如果它看起来不错:
WHERE
子句的元素。您也可以尝试用变量替换术语。以这种方式工作可能有助于追踪导致查询失败的元素。