我试图计算在查询DBpedia后收到的两个资源之间的距离(DBpedia中的边的数量)。 例如:计算JENA中DBPedia的两个资源之间的距离
Query query = QueryFactory.create(sparqlQueryString);
QueryExecution qexec =QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",query);
try{
ResultSet results = qexec.execSelect();
for(; results.hasNext();) {
QuerySolution soln = results.nextSolution();
for(int i=0;i<solutionConcept.length;i++){
System.out.print(solutionConcept[i]+":"+soln.get(solutionConcept[i]).toString() +"; ");
}
System.out.println("\n");
}
} finally{
qexec.close();
,这是串查询:
String s6= "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "+
"PREFIX dbpedia: <http://dbpedia.org/resource/> "+
"PREFIX o: <http://dbpedia.org/ontology/> "+
"PREFIX dbprop: <http://dbpedia.org/property/>"+
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>" +
"select ?Player ?nation ?club "+
"where {?Player rdf:type o:SoccerPlayer; dbprop:birthPlace ?nation; dbprop:currentclub ?club.} LIMIT 10";
好,是有办法来计算边缘的两个玩家之间的数(路径??),或两个国家,还是两个俱乐部? 非常感谢您...
你是指某个特定属性或属性的路径,或者是什么?如果你正在寻找一条路径,所有的边缘都是从一组属性中绘制出来的,你可以做到这一点,但如果你只是在寻找任意路径,我认为你不能做这个。你可以根据你所拥有的数据(或者可以在DBpedia上浏览),给出你正在寻找的结果类型(手动构建的)的例子吗? –
基本上我想计算两个resource..For例子之间的相似性,假设这是我的结果集 玩家国度CLUB 比达尔智利尤文图斯// 皮萨罗智利佛罗伦萨 我想计算 比达尔之间的相似性-Pizarro 智利智利 尤文图斯 - 佛罗伦萨 然后计算总体相似度 – user2837896
我收集这是你的意图。但是,在任何人都可以告诉你是否可以计算它之前,你需要指定_how_来计算这个值。在OWL中,所有东西都是“owl:Thing”的实例,所以任何两个资源之间总是有一个长度为2的路径:'rdf:type/^ rdf:type'。但是还会有其他的途径。一些关系表明不相似而不是相似。你会试图排除这些关系吗?要回答这个问题,需要更多关于你正在计算的信息。 –