本文目錄一覽:
- 1、怎麼在已有的項目中,用jena的API解析owl文件內容??
- 2、java查詢數據庫的數據並顯示出來
- 3、問下java api是什麼?
- 4、如何用eclipse運行jena
- 5、問一下.用D2RQ將數據庫的內容轉化為虛擬的RDF..這個可以用來做本體的建立嗎?
怎麼在已有的項目中,用jena的API解析owl文件內容??
將ShowRecord.owl文件存儲到MySQL數據庫中,數據庫叫Jena,在Eclipse中創建工程OperaOntology,代碼如下:importJava.io.*;importjava.sql.SQLException;importcom.hp.hpl.jena.db.*;importcom.hp.hpl.jena.ontology.OntClass;importcom.hp.hpl.jena.rdf.model.*;publicclassOperaOntology{publicstaticfinalStringstrDriver=”com.mysql.jdbc.Driver”;publicstaticfinalStringstrURL=”jdbc:mysql://localhost:3306/jena”;//localhost的後面要直接寫冒號,再寫3306;publicstaticfinalStringstrUser=”root”;publicstaticfinalStringstrPassword=”root”;publicstaticfinalStringstrDB=”MySQL”;publicstaticvoidmain(String[]args){try{DBConnectionconnection=newDBConnection(strURL,strUser,strPassword,strDB);System.out.println(connection);//創建連接時,第四個參數需要指定所用的數據庫類型;也就是說strDB的值應該是“MySQL”try{Class.forName(“com.mysql.jdbc.Driver”);System.out.println(“驅動程序已經安裝。”);}catch(ClassNotFoundExceptione){System.out.println(“ClassNotFoundException,Driverisnotavailable”);}System.out.println(“數據庫連接成功。”);//從此處開始讀入一個OWL文件並且存儲到數據庫中;ModelMakermaker=ModelFactory.createModelRDBMaker(connection);//使用數據庫連接參數創建一個模型製造器ModeldefModel=maker.createModel(“ShowRecord”);//創建一個默認模型,命名為CostumeModel,因為我要存入的OWL文件名是CostumeFileInputStreamread=null;try{Filefile=newFile(“e:/ontologies/ShowRecord.owl”);read=newFileInputStream(file);}catch(FileNotFoundExceptione){e.printStackTrace();System.out.println(“未找到要存儲的本體文件,請檢查文件地址及名稱”);}System.out.println(“已將本體文件轉換為字節流文件。”);InputStreamReaderin=null;try{in=newInputStreamReader((FileInputStream)read,”UTF-8″);}catch(UnsupportedEncodingExceptione){e.printStackTrace();System.out.println(“不支持上述字符集。”);}System.out.println(“已將字節流文件轉換為UTF-8編碼。”);defModel.read(in,null);try{in.close();}catch(IOExceptione){e.printStackTrace();System.out.println(“無法關閉字節流文件。”);}System.out.println(“已將字節流文件關閉。”);defModel.commit();System.out.println(“數據轉換執行完畢,已將本體文件存入數據庫。”);try{connection.close();}catch(SQLExceptione){e.printStackTrace();System.out.println(“文件無法關閉。”);}}catch(RDFRDBExceptione){e.printStackTrace();System.out.println(“出現異常”);}System.out.println(“已將本體文件持久化到數據庫中”);}}以上步驟成功完成以後,我登錄到MySQL的界面查詢工具查看Jena數據庫的表,點擊“Catalogs“
java查詢數據庫的數據並顯示出來
本人使用的是 Jena-2.5.7 MySQL 5.0 mysql-connector-java-3.1.10 jdk1.6.0_07
源代碼:
import java.io.*;
import java.sql.SQLException;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.rdf.model.*;
public class MysqlTest{
public static final String strDriver = “com.mysql.jdbc.Driver”; // path of driver class
public static final String strURL = “jdbc:mysql://localhost/ontodb”; // URL of database
public static final String strUser = “root”; // database user id
public static final String strPassWord = “4408”; // database password
public static final String strDB = “MySQL”; // database type
public static void main(String[] args){
try{
// 創建一個數據庫連接
IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );
// 加載數據庫驅動類,需要處理異常
try
{
Class.forName(strDriver);
}catch(ClassNotFoundException e){
System.out.println(“ClassNotFoundException, Driver is not available…”);
}
// 使用數據庫連接參數創建一個模型製造器
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
// 創建一個默認模型,命名為 MyOntology
Model defModel = maker.createDefaultModel();
// 準備需要存入數據庫的本體文件,建立輸入文件流
FileInputStream inputSreamfile = null;
try
{
File file = new File(“D:/Person.owl”);
inputSreamfile = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println(“Ontology File is not available…”);
}
InputStreamReader in = null;
try
{
in = new InputStreamReader(inputSreamfile, “UTF-8”);
} catch (UnsupportedEncodingException e) {
System.out.println(“Exceptions occur33…”);
e.printStackTrace();
}
// 讀取文件
defModel.read(in,null);
// 關閉輸入流讀取器
try
{
in.close();
} catch (IOException e) {
System.out.println(“Exceptions occurclose1…”);
e.printStackTrace();
}
// 執行數據轉換,將本體數據存入數據庫
defModel.commit();
// 關閉數據庫連接
try
{
conn.close();
} catch (SQLException e) {
System.out.println(“Exceptions occur22…”);
e.printStackTrace();
}
}catch(RDFRDBException e){
System.out.println(“Exceptions occur…”);
}
}
}
輸出結果
Tue Dec 30 17:07:06 CST 2008 TRACE:
Tue Dec 30 17:07:06 CST 2008 TRACE:
…..
Tue Dec 30 17:07:06 CST 2008 TRACE:
Tue Dec 30 17:07:06 CST 2008 TRACE:
Exceptions occur…
幫忙解決一下。。。
問下java api是什麼?
API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數.目的是提供應用程序與開發人員基於某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。API除了有應用“應用程序接口”的意思外,還特指 API的說明文檔,也稱為幫助文檔。
如何用eclipse運行jena
步驟
1.編寫好的 java類
2.在類的空白處,右鍵選擇 run as – java application
3.或者點擊菜單欄的 run as – java application
4.或者點擊如下的綠色小圖標
問一下.用D2RQ將數據庫的內容轉化為虛擬的RDF..這個可以用來做本體的建立嗎?
您好,D2R 便是其中一個非常流行的工具。它的作用是一個將關係型數據庫發布為 Linked data。D2R 主要包括 D2R Server, D2RQ Engine 以及 D2RQ Mapping 語言。
D2R Server 是一個 HTTP Server,它的主要功能提供對 RDF 數據的查詢訪問接口,以供上層的 RDF 瀏覽器、SPARQL 查詢客戶端以及傳統的 HTML 瀏覽器調用。
D2RQ Engine 的主要功能是使用一個可定製的 D2RQ Mapping 文件將關係型數據庫中的數據換成 RDF 格式。D2RQ engine 並沒有將關係型數據庫發布成真實的 RDF 數據,而是使用 D2RQ Mapping 文件將其映射成虛擬的 RDF 格式。該文件的作用是在訪問關係型數據時將 RDF 數據的查詢語言 SPARQL 轉換為 RDB 數據的查詢語言 SQL,並將 SQL 查詢結果轉換為 RDF 三元組或者 SPARQL 查詢結果。D2RQ Engine 是建立在 Jena(Jena 是一個創建 Semantic Web 應用的 Java 平台,它提供了基於 RDF,SPARQL 等的編程環境)的接口之上。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/272192.html