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

2021-09-22 13:11:48 字數 550 閱讀 1334

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

最近遇到乙個問題,在乙個程式裡要讀取多個xml格式的本體檔案(*.owl),它們之間有import關係,在讀乙個檔案之前,我需要先確認該檔案需要import的那些命名空間所對應的本體(此本體的預設命名空間是import的值)是否存在,所以我必須知道每個.owl檔案的預設命名空間和import值(後者在這裡暫不討論),這樣做的乙個好處是不需要讓jena在找不到本地檔案時去訪問網路,造成延遲。

什麼是字首(prefix)呢?prefix主要是為了簡化xml的書寫,例如下面的語句中,rdf就是prefix,這樣在xml文件的其他地方就可以用"rdf:***"表示""這一長串了。

xmlns:rdf=""

當然,要得到乙個xml檔案的預設命名空間有很多方法,只是在乙個面向本體而不是xml的應用程式裡,使用本體這個層次的api可能更合適一些。

本文**

八進位制

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

建立模型並讀取本體 ontmodel ontmodel modelfactory.createontologymodel ontmodelspec.owl mem ontmodel.read file home yue protegeprojects pizza pizza.owl 編寫查詢語句,如...

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

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

用jQuery獲得select的值

jq獲取select的值,各種花裡胡哨,下面將總結一下 1.獲取第乙個option的值 test option first val 2.最後乙個option的值 test option last val 3.獲取第二個option的值 test option eq 1 val 4.獲取選中的值 te...