Jena中SPARQL查詢本體的簡單實現

2021-07-16 15:22:45 字數 685 閱讀 1814

//建立模型並讀取本體;

ontmodel ontmodel = modelfactory.createontologymodel(ontmodelspec.owl_mem);

ontmodel.read("file:/home/yue/protegeprojects/pizza/pizza.owl");

//編寫查詢語句,如查詢哪些比薩產地為法國;

string querystring =

"prefix source:select ?pizza where ";

//建立查詢;

query query = queryfactory.create(querystring);

//執行查詢;

queryexecution queryexecution = queryexecutionfactory.create(query, ontmodel);

//返回查詢結果;

resultset

resultset

= queryexecution.execselect();

//輸出查詢結果;

resultsetformatter.out(system.out, resultset, query);

//結束查詢;

queryexecution.close();

用Jena獲得本體的預設命名空間

這個標題其實有點問題,因為本體 rdf本身並沒有命名空間的概念,它們只關心絕對的uri 在jena裡一旦模型讀進記憶體,就都是使用絕對uri標識資源的,而當使用xml格式儲存的時候,才會引出這些xml中的概念。最近遇到乙個問題,在乙個程式裡要讀取多個xml格式的本體檔案 owl 它們之間有impor...

sparql查詢語句的寫法

一.只有book一欄,點進去,會看到很多具體的關鍵字,對於別的關鍵字的查詢構建方法是 對於整體的dbo的型別,一般都是對應的英語名,第乙個字母大寫即可,比如 圖書book,電影film,遊戲game等等。二.以上程式在python裡面的實現就是這樣的 import urllib2 from data...

Jena高階(二)本體推理規則(Rules)的介紹

本體的推理規則庫是有一條條規則組成的。每條規則由主體 body 和頭 head 組成,一條規則可以有乙個主體和乙個頭,例如規則 rule1 a fa hashusband b a fa ismotherof c b fa isfatherof c 其中規則的主體為 a hashusband b,a ...