(1)在Jena的首頁(http://jena.sourceforge.net/downloads.html)下載下傳Jena的最新版本。将下載下傳的Jena-2.6.4.zip解壓到任意路徑,解壓之後生成Jena2.6.4檔案夾。
(2)使用Eclipse建立Java工程,右健單擊工程名字,選擇“Build Path”->“Configure Build Path”,在打開的對話框中選擇“Java建立路徑/Java Build Path”,在右邊标簽中選擇“庫/Libraries”,之後選擇“添加外部檔案/Add Extenal JARs”,找到Jena2.6.4\lib目錄下的所有jar檔案并将其添加到工程。這樣就可以使用Jena API。
(3)使用protégé建立一個本體,本體來源文章:基于關系資料庫的OWL本體存儲及查詢方法。本體如下圖所示:
(4)詳細編碼
[java] view plain copy print ?
- package com.ont.demo;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.util.Iterator;
- import java.util.Vector;
- import com.hp.hpl.jena.rdf.model.*;
- import com.hp.hpl.jena.db.DBConnection;
- import com.hp.hpl.jena.db.IDBConnection;
- import com.hp.hpl.jena.ontology.*;
- public class OntAnalysisMysql {
- public static final String strDriver = "com.mysql.jdbc.Driver"; //path of driver class
- public static final String strURL = "jdbc:mysql://localhost/ontodb3"; // URL of database
- public static final String strUser = "root"; //database user id
- public static final String strPassWord = "sql123"; //database password
- public static final String strDB = "MySQL"; //database type
- public OntModel createOnt(String owlpath) {
- // 建立一個資料庫連接配接
- IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );
- // 加載資料庫驅動類,需要處理異常
- try{
- Class.forName(strDriver);
- }catch(ClassNotFoundException e) {
- e.printStackTrace();
- }
- //使用資料庫連接配接參數建立一個模型制造器
- ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
- //建立一個預設模型
- Model base = maker.createDefaultModel();
- OntModel ontmodel = ModelFactory.createOntologyModel(getModelSpec(maker), base);
- try {
- ontmodel.read(new FileInputStream(owlpath), ""); // 讀取檔案,加載模型
- } catch (FileNotFoundException e) {
- System.out.println("讀取失敗" + e.getMessage());
- }
- return ontmodel;
- }
- public static OntModelSpec getModelSpec(ModelMaker maker) {
- OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_MEM);
- spec.setImportModelMaker(maker);
- return spec;
- }
- public void getAllClasses(String owlpath) {
- OntModel ontModel = this.createOnt(owlpath);
- String str;
- // 列出所有的class
- for (Iterator allclass = ontModel.listClasses(); allclass.hasNext();) {
- OntClass ontclass = (OntClass) allclass.next();
- if(!ontclass.isAnon()){
- String classstr = ontclass.toString();
- OntClassDTO dto = new OntClassDTO();;
- System.out.println(dto.getC_URI());
- System.out.print("類URI:" + classstr + " ");
- str = classstr.substring(classstr.indexOf("#") + 1);
- System.out.print("類名:" + str + " ");
- if (!ontclass.listSuperClasses().hasNext()) {
- System.out.println("類描述類型:無");
- } else {
- for (Iterator supclasses = ontclass.listSuperClasses(); supclasses
- .hasNext();) {
- OntClass supclass = (OntClass) supclasses.next();
- String supclasstr = supclass.toString();
- str = supclasstr.substring(supclasstr.indexOf("#") + 1);
- System.out.print("類描述類型:subClassOf ");
- System.out.println("類描述值:" + str);
- }
- }
- }
- }
- }
- public void getAllProperties(String owlpath) {
- OntModel ontMdel = this.createOnt(owlpath);
- String str;
- OntProtyDAO dao = new OntProtyDAO();
- // 列出所有的對象屬性
- for (Iterator allobjpry = ontMdel.listObjectProperties(); allobjpry
- .hasNext();) {
- OntProperty objpry = (OntProperty) allobjpry.next();
- // 屬性URI
- String objprystr = objpry.toString();
- System.out.print("屬性URI:" + objprystr + " ");
- // 屬性名
- str = objprystr.substring(objprystr.indexOf("#") + 1);
- System.out.print("屬性值:" + str + " 屬性:OP ");
- // 屬性定義域
- String domain = objpry.getDomain().toString();
- String domainstr = domain.substring(domain.indexOf("#") + 1);
- System.out.print("定義域 :" + domainstr);
- // 屬性值域
- String range = objpry.getRange().toString();
- String rangestr = range.substring(range.indexOf("#") + 1);
- System.out.println(" 值域:" + rangestr);
- }
- // 列出所有的資料屬性
- for (Iterator alldatapry = ontMdel.listDatatypeProperties(); alldatapry
- .hasNext();) {
- OntProperty datapry = (OntProperty) alldatapry.next();
- // 屬性URI
- String dataprystr = datapry.toString();
- System.out.print("屬性URI:" + dataprystr + " ");
- // 屬性名
- str = dataprystr.substring(dataprystr.indexOf("#") + 1);
- System.out.print("屬性值:" + str + " 屬性:DP ");
- // 屬性定義域
- String domain = datapry.getDomain().toString();
- String domainstr = domain.substring(domain.indexOf("#") + 1);
- System.out.print("定義域 :" + domainstr);
- // 屬性值域
- String range = datapry.getRange().toString();
- String rangestr = range.substring(range.indexOf("#") + 1);
- System.out.println(" 值域:" + rangestr);
- System.out.println(dataprystr );
- System.out.println(str);
- System.out.println(domainstr);
- System.out.println(rangestr);
- }
- }
- public void getAllProcharac(String owlpath) {
- OntModel ontMdel = this.createOnt(owlpath);
- String str;
- // 列出所有的對象屬性
- for (Iterator allobjpry = ontMdel.listObjectProperties(); allobjpry.hasNext();) {
- String info = null;
- OntProperty objpry = (OntProperty) allobjpry.next();
- OntProperty objinverof = objpry.getInverseOf();
- if(objinverof!=null){
- info = "屬性URI :"+objpry+"\n屬 性 名 :"+objpry.toString().substring(objpry.toString().indexOf("#")+1)
- +"\n特征類型 :inverseOf "+"\n特 征 值 :"+ objinverof.toString().substring(objinverof.toString().indexOf("#")+1);
- System.out.println(info);
- }
- }
- }
- public void getAllIndividuals(String owlpath) {
- OntModel ontModel = this.createOnt(owlpath);
- String str;
- // 疊代出本體檔案中所有的執行個體
- for (Iterator allIndivs = ontModel.listIndividuals(); allIndivs.hasNext();) {
- Individual indiv = (Individual) allIndivs.next();
- //對象屬性命名空間
- String namespace = indiv.toString().substring(0,indiv.toString().indexOf("#") + 1);
- // 執行個體所屬的類
- OntClass classOfIndiv = indiv.getOntClass();
- //執行個體所屬類的所有屬性
- for (Iterator classPryOfIndivs = classOfIndiv.listProperties(); classPryOfIndivs.hasNext();)
- {
- OntProperty classPryOfIndiv = (OntProperty) classPryOfIndivs.next();
- System.out.println(classPryOfIndivs.next());
- String classPryOfIndivstr = classPryOfIndiv.toString();
- String info = null;
- info = "執行個體URI:"
- + indiv
- + " 執行個體名:"
- + indiv.toString().substring(indiv.toString().indexOf("#") + 1) + " 執行個體所屬類:"
- + classOfIndiv
- +" 屬性URI:"
- +classPryOfIndivstr;
- // 擷取這個執行個體的屬性值
- if (indiv.getPropertyValue(classPryOfIndiv) != null) {
- String pryValueOfIndiv = indiv.getPropertyValue(classPryOfIndiv).toString();
- if (pryValueOfIndiv.contains("^^")&&pryValueOfIndiv.contains("#")) {
- info = info
- + " 屬性值:"
- + pryValueOfIndiv.substring(0, pryValueOfIndiv.indexOf("^^"));
- }else{
- info = info
- + " 屬性值:"
- + pryValueOfIndiv.substring(pryValueOfIndiv.indexOf("#") + 1);
- }
- } else {
- info = info + " 無屬性值";
- }
- //輸出執行個體資訊
- System.out.println(info);
- }
- }
- }
- public static void main(String[] args) {
- String owlpath = "E:\\greenide\\workspace\\Ontology\\logistics.owl";
- System.out.println("--------------------------------------------清單1 類------------------------------");
- new OntAnalysisMysql().getAllClasses(owlpath);
- System.out.println("--------------------------------------------清單2 屬性-----------------------------");
- new OntAnalysisMysql().getAllProperties(owlpath);
- System.out.println("--------------------------------------------清單3 屬性特征--------------------------");
- new OntAnalysisMysql().getAllProcharac(owlpath);
- System.out.println("--------------------------------------------清單4 屬性限制--------------------------");
- new OntAnalysisMysql().getAllProcharac(owlpath);
- System.out.println("--------------------------------------------清單5 執行個體------------------------------");
- new OntAnalysisMysql().getAllIndividuals(owlpath);
- }
- }
package com.ont.demo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.Vector;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.ontology.*;
public class OntAnalysisMysql {
public static final String strDriver = "com.mysql.jdbc.Driver"; //path of driver class
public static final String strURL = "jdbc:mysql://localhost/ontodb3"; // URL of database
public static final String strUser = "root"; //database user id
public static final String strPassWord = "sql123"; //database password
public static final String strDB = "MySQL"; //database type
/* 函數功能說明
*
* 建立本體模型,然後讀取.owl檔案,加載模型
*
* */
public OntModel createOnt(String owlpath) {
// 建立一個資料庫連接配接
IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );
// 加載資料庫驅動類,需要處理異常
try{
Class.forName(strDriver);
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
//使用資料庫連接配接參數建立一個模型制造器
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
//建立一個預設模型
Model base = maker.createDefaultModel();
OntModel ontmodel = ModelFactory.createOntologyModel(getModelSpec(maker), base);
try {
ontmodel.read(new FileInputStream(owlpath), ""); // 讀取檔案,加載模型
} catch (FileNotFoundException e) {
System.out.println("讀取失敗" + e.getMessage());
}
return ontmodel;
}
public static OntModelSpec getModelSpec(ModelMaker maker) {
OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_MEM);
spec.setImportModelMaker(maker);
return spec;
}
/*函數功能說明
*
* 擷取owl檔案中所有的class,内容包括:
* 類URI,類名,類描述類型,類描述值
*
*/
public void getAllClasses(String owlpath) {
OntModel ontModel = this.createOnt(owlpath);
String str;
// 列出所有的class
for (Iterator allclass = ontModel.listClasses(); allclass.hasNext();) {
OntClass ontclass = (OntClass) allclass.next();
if(!ontclass.isAnon()){
String classstr = ontclass.toString();
OntClassDTO dto = new OntClassDTO();;
System.out.println(dto.getC_URI());
System.out.print("類URI:" + classstr + " ");
str = classstr.substring(classstr.indexOf("#") + 1);
System.out.print("類名:" + str + " ");
if (!ontclass.listSuperClasses().hasNext()) {
System.out.println("類描述類型:無");
} else {
for (Iterator supclasses = ontclass.listSuperClasses(); supclasses
.hasNext();) {
OntClass supclass = (OntClass) supclasses.next();
String supclasstr = supclass.toString();
str = supclasstr.substring(supclasstr.indexOf("#") + 1);
System.out.print("類描述類型:subClassOf ");
System.out.println("類描述值:" + str);
}
}
}
}
}
/* 函數功能說明
*
* 擷取owl檔案中所有的屬性,内容包括:
* 屬性URI,屬性名,屬性,定義域,值域
*
* */
public void getAllProperties(String owlpath) {
OntModel ontMdel = this.createOnt(owlpath);
String str;
OntProtyDAO dao = new OntProtyDAO();
// 列出所有的對象屬性
for (Iterator allobjpry = ontMdel.listObjectProperties(); allobjpry
.hasNext();) {
OntProperty objpry = (OntProperty) allobjpry.next();
// 屬性URI
String objprystr = objpry.toString();
System.out.print("屬性URI:" + objprystr + " ");
// 屬性名
str = objprystr.substring(objprystr.indexOf("#") + 1);
System.out.print("屬性值:" + str + " 屬性:OP ");
// 屬性定義域
String domain = objpry.getDomain().toString();
String domainstr = domain.substring(domain.indexOf("#") + 1);
System.out.print("定義域 :" + domainstr);
// 屬性值域
String range = objpry.getRange().toString();
String rangestr = range.substring(range.indexOf("#") + 1);
System.out.println(" 值域:" + rangestr);
}
// 列出所有的資料屬性
for (Iterator alldatapry = ontMdel.listDatatypeProperties(); alldatapry
.hasNext();) {
OntProperty datapry = (OntProperty) alldatapry.next();
// 屬性URI
String dataprystr = datapry.toString();
System.out.print("屬性URI:" + dataprystr + " ");
// 屬性名
str = dataprystr.substring(dataprystr.indexOf("#") + 1);
System.out.print("屬性值:" + str + " 屬性:DP ");
// 屬性定義域
String domain = datapry.getDomain().toString();
String domainstr = domain.substring(domain.indexOf("#") + 1);
System.out.print("定義域 :" + domainstr);
// 屬性值域
String range = datapry.getRange().toString();
String rangestr = range.substring(range.indexOf("#") + 1);
System.out.println(" 值域:" + rangestr);
System.out.println(dataprystr );
System.out.println(str);
System.out.println(domainstr);
System.out.println(rangestr);
}
}
/* 函數功能說明
*
* 列出所有的屬性特征,内容包括:
* 屬性URI、屬性名、特征類型、特征值
*
* */
public void getAllProcharac(String owlpath) {
OntModel ontMdel = this.createOnt(owlpath);
String str;
// 列出所有的對象屬性
for (Iterator allobjpry = ontMdel.listObjectProperties(); allobjpry.hasNext();) {
String info = null;
OntProperty objpry = (OntProperty) allobjpry.next();
OntProperty objinverof = objpry.getInverseOf();
if(objinverof!=null){
info = "屬性URI :"+objpry+"\n屬 性 名 :"+objpry.toString().substring(objpry.toString().indexOf("#")+1)
+"\n特征類型 :inverseOf "+"\n特 征 值 :"+ objinverof.toString().substring(objinverof.toString().indexOf("#")+1);
System.out.println(info);
}
}
}
/* 函數功能說明
*
* 列出所有的執行個體,内容包括:
* 執行個體URI、執行個體名、類URI、屬性URI、屬性值
*
* */
public void getAllIndividuals(String owlpath) {
OntModel ontModel = this.createOnt(owlpath);
String str;
// 疊代出本體檔案中所有的執行個體
for (Iterator allIndivs = ontModel.listIndividuals(); allIndivs.hasNext();) {
Individual indiv = (Individual) allIndivs.next();
//對象屬性命名空間
String namespace = indiv.toString().substring(0,indiv.toString().indexOf("#") + 1);
// 執行個體所屬的類
OntClass classOfIndiv = indiv.getOntClass();
//執行個體所屬類的所有屬性
for (Iterator classPryOfIndivs = classOfIndiv.listProperties(); classPryOfIndivs.hasNext();)
{
OntProperty classPryOfIndiv = (OntProperty) classPryOfIndivs.next();
System.out.println(classPryOfIndivs.next());
String classPryOfIndivstr = classPryOfIndiv.toString();
String info = null;
info = "執行個體URI:"
+ indiv
+ " 執行個體名:"
+ indiv.toString().substring(indiv.toString().indexOf("#") + 1) + " 執行個體所屬類:"
+ classOfIndiv
+" 屬性URI:"
+classPryOfIndivstr;
// 擷取這個執行個體的屬性值
if (indiv.getPropertyValue(classPryOfIndiv) != null) {
String pryValueOfIndiv = indiv.getPropertyValue(classPryOfIndiv).toString();
/*判斷對象屬性或資料屬性
* 如果執行個體屬性值中包括"^^"和"#",則為資料屬性,否則為對象屬性
*/
if (pryValueOfIndiv.contains("^^")&&pryValueOfIndiv.contains("#")) {
info = info
+ " 屬性值:"
+ pryValueOfIndiv.substring(0, pryValueOfIndiv.indexOf("^^"));
}else{
info = info
+ " 屬性值:"
+ pryValueOfIndiv.substring(pryValueOfIndiv.indexOf("#") + 1);
}
} else {
info = info + " 無屬性值";
}
//輸出執行個體資訊
System.out.println(info);
}
}
}
public static void main(String[] args) {
String owlpath = "E:\\greenide\\workspace\\Ontology\\logistics.owl";
System.out.println("--------------------------------------------清單1 類------------------------------");
new OntAnalysisMysql().getAllClasses(owlpath);
System.out.println("--------------------------------------------清單2 屬性-----------------------------");
new OntAnalysisMysql().getAllProperties(owlpath);
System.out.println("--------------------------------------------清單3 屬性特征--------------------------");
new OntAnalysisMysql().getAllProcharac(owlpath);
System.out.println("--------------------------------------------清單4 屬性限制--------------------------");
new OntAnalysisMysql().getAllProcharac(owlpath);
System.out.println("--------------------------------------------清單5 執行個體------------------------------");
new OntAnalysisMysql().getAllIndividuals(owlpath);
}
}
(5)結果
[plain] view plain copy print ?
- --------------------------------------------清單1 類------------------------------
- 類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#顧客 類名:顧客 類描述類型:無
- 類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 類名:銷售商 類描述類型:無
- 類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 類名:訂單 類描述類型:無
- 類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#團體顧客 類名:團體顧客 類描述類型:subClassOf 類描述值:顧客
- 類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#一般顧客 類名:一般顧客 類描述類型:subClassOf 類描述值:顧客
- --------------------------------------------清單2 屬性-----------------------------
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:訂貨人 屬性:OP 定義域 :訂單 值域:顧客
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 屬性值:發貨 屬性:OP 定義域 :銷售商 值域:顧客
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:下訂單 屬性:OP 定義域 :顧客 值域:銷售商
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:訂貨日期 屬性:DP 定義域 :訂單 值域:date
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:訂貨數量 屬性:DP 定義域 :訂單 值域:positiveInteger
- 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 屬性值:發貨日期 屬性:DP 定義域 :銷售商 值域:date
- --------------------------------------------清單3 屬性特征--------------------------
- 屬性URI :http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨
- 屬 性 名 :發貨
- 特征類型 :inverseOf
- 特 征 值 :下訂單
- --------------------------------------------清單4 屬性限制--------------------------
- http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單
- http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量
- MaxCardinalityRestriction
- 100
- http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單
- http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量
- MinCardinalityRestriction
- 1
- --------------------------------------------清單5 執行個體------------------------------
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#韓梅梅 執行個體名:韓梅梅 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#一般顧客 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:淘寶
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#李明 執行個體名:李明 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#團體顧客 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:麥考林
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#淘寶 執行個體名:淘寶 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 無屬性值
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#淘寶 執行個體名:淘寶 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 屬性值:2011-04-05
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#麥考林 執行個體名:麥考林 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 屬性值:李明
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#麥考林 執行個體名:麥考林 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 無屬性值
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:2011-04-01
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:10
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:韓梅梅
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:2012-11-11
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:60
- 執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:李明
--------------------------------------------清單1 類------------------------------
類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#顧客 類名:顧客 類描述類型:無
類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 類名:銷售商 類描述類型:無
類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 類名:訂單 類描述類型:無
類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#團體顧客 類名:團體顧客 類描述類型:subClassOf 類描述值:顧客
類URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#一般顧客 類名:一般顧客 類描述類型:subClassOf 類描述值:顧客
--------------------------------------------清單2 屬性-----------------------------
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:訂貨人 屬性:OP 定義域 :訂單 值域:顧客
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 屬性值:發貨 屬性:OP 定義域 :銷售商 值域:顧客
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:下訂單 屬性:OP 定義域 :顧客 值域:銷售商
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:訂貨日期 屬性:DP 定義域 :訂單 值域:date
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:訂貨數量 屬性:DP 定義域 :訂單 值域:positiveInteger
屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 屬性值:發貨日期 屬性:DP 定義域 :銷售商 值域:date
--------------------------------------------清單3 屬性特征--------------------------
屬性URI :http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨
屬 性 名 :發貨
特征類型 :inverseOf
特 征 值 :下訂單
--------------------------------------------清單4 屬性限制--------------------------
http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單
http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量
MaxCardinalityRestriction
100
http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單
http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量
MinCardinalityRestriction
1
--------------------------------------------清單5 執行個體------------------------------
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#韓梅梅 執行個體名:韓梅梅 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#一般顧客 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:淘寶
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#李明 執行個體名:李明 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#團體顧客 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#下訂單 屬性值:麥考林
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#淘寶 執行個體名:淘寶 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 無屬性值
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#淘寶 執行個體名:淘寶 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 屬性值:2011-04-05
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#麥考林 執行個體名:麥考林 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨 屬性值:李明
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#麥考林 執行個體名:麥考林 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#銷售商 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#發貨日期 無屬性值
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:2011-04-01
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:10
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#高跟鞋 執行個體名:高跟鞋 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:韓梅梅
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨日期 屬性值:2012-11-11
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨數量 屬性值:60
執行個體URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#雪地靴 執行個體名:雪地靴 執行個體所屬類:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂單 屬性URI:http://www.semanticweb.org/ontologies/2012/10/logistics.owl#訂貨人 屬性值:李明
僅作學習交流,轉載請标注此文!
http://blog.csdn.net/xiaocong1314/article/details/8439696