如何用java搜索spdql的rdf?

时间:2011-08-30 15:56:44

标签: java rdf sparql

我在语义网上做项目,我使用SPARQL查询rdf数据。我在netbeans中使用java,我的问题是我的程序运行,输入rdf文件并执行查询,但我的查询的 WHERE区域不被视为。 (即)我得到一个空表作为输出

您能否告诉我任何有关 JARA中的SPARQL语法的建议,以便从rdf文件中检索所有姓名,电话号码

1 个答案:

答案 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 .
}

我们需要更多信息,所以这里有一些通用建议:

  1. 试试SELECT * WHERE { ?s ?p ?o }。这会得到结果吗?如果没有,请尝试......
  2. 试试SELECT * WHERE { graph ?g { ?s ?p ?o } }。这会得到结果吗?
  3. 如果两者都不起作用,您可能会遇到数据问题。如果只有第二个获得结果,则检查您是否正在查询图表。

    这将让您对任何方式加载的内容有所了解。如果它看起来不错:

    1. 删除WHERE子句的元素。
    2. 如果仍然没有结果,请转到1。
    3. 如果您收到结果,则表示您的查询存在问题。
    4. 您也可以尝试用变量替换术语。以这种方式工作可能有助于追踪导致查询失败的元素。