我試圖計算在查詢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'。但是還會有其他的途徑。一些關係表明不相似而不是相似。你會試圖排除這些關係嗎?要回答這個問題,需要更多關於你正在計算的信息。 –