gpt4 book ai didi

java - Sparql 关系请求

转载 作者:行者123 更新时间:2023-12-01 08:57:03 25 4
gpt4 key购买 nike

嘿,我为 pizzas 制作了门徒教程。我有一份猫头鹰文件。我将该文件保存为 RDF/XML 格式。现在我尝试获取有关文件中数据的一些信息。诸如此类:

"Select * where {
?s rdfs:subClassOf owl:Thing
}

工作。现在我想获取与“hasTopping”相关的所有主题和对象。

OntModel m = ModelFactory.createOntologyModel(OWL_MEM);

InputStream in = FileManager.get().open("pizza1.owl");
m.read(in, "RDF/XML");
String queryString =
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
"PREFIX : <http://www.pizza.com/ontologies/pizza.owl> " +
"PREFIX owl: <http://www.w3.org/2002/07/owl#>" +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>" +
"PREFIX xml: <http://www.w3.org/XML/1998/namespace>" +
"SELECT * WHERE" +
"{" +
"?s :hasTopping ?o" +
"}";
Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.create(query,m);
try {
ResultSet results = qexec.execSelect();
while( results.hasNext()) {
QuerySolution soln = results.nextSolution();
RDFNode name = soln.get("s");
RDFNode name1 = soln.get("o");


//RDFNode name2 = soln.get("s");
System.out.println("Subject:" + name);
System.out.println("Object:" + name1);

//System.out.println(name2);
}
} finally {
qexec.close();
}

但结果始终为空。希望有人能帮助我。

亲切的问候!

最佳答案

: 的前缀声明缺少 #/ 等分隔符 - 取决于它在本体中的定义方式。

如果没有它,使用 :hasTopping 会生成 URI http://www.pizza.com/ontologies/pizza.owlhasTopping

关于java - Sparql 关系请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41983157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com