2014-02-09 44 views
2

我對Java Sees相當陌生。我正在學習本教程:http://openrdf.callimachus.net/sesame/2.7/docs/users.docbook?view。我知道如何創建語句並將它們添加到Sesame存儲庫中。目前,我正在試圖描述我要添加的語句的類和屬性。例如,我有以下的那些:如圖所示,Book被定義爲Class如何在Java中使用RDFS描述類和屬性

:Book rdf:type rdfs:Class . 
:bookTitle rdf:type rdf:Property . 
:bookTitle rdfs:domain :Book . 
:bookTitle rdfs:range rdfs:Literal . 
:MyBook rdf:type :Book . 
:MyBook :bookTitle "Open RDF" . 

bookTitle定義爲Property。我的問題是:如何使用org.openrdf.model.vocabulary.RDFSJava Openrdf中執行此操作。爲了闡明這一點,下面是另一個例子:

con.add(alice, RDF.TYPE, person); 

alice是一種類型的人。我如何使用org.openrdf.model.vocabulary.RDFSperson定義爲一個類。非常感謝您的幫助。

回答

0

你會這樣做,就像你描述aliceperson一樣。就像這樣:

con.add(person, RDF.TYPE, RDFS.CLASS); 

同樣,對於要添加(假設你已經創建了一個BOOKTITLE URI)其他的東西:

con.add(bookTitle, RDF.TYPE, RDF.PROPERTY); 
con.add(bookTitle, RDFS.DOMAIN, book); 

我要指出的是,雖然當然可以用這種方式創建模式或本體,但可能更容易創建包含本體的文件(例如,在Turtle或N-Triples語法中),然後將該文件上傳到您的Sesame存儲庫。

+0

非常感謝您的幫助。如果我錯了,請糾正我。我正在嘗試模式或本體論,並基於此創建我的聲明。是對的嗎?還有一件事,請。你會推薦我在一個文件中創建一個本體,然後在芝麻上傳該文件,然後創建像愛麗絲例子那樣的語句?既然我不知道如何做到這一點,我會以你幫助我的方式去做。你認爲這樣可以嗎? – user2864315

+0

如果這就是你所要求的,你不需要首先創建模式 - 將'alice'定義爲'person'並沒有首先定義'person'是一個類是完全正確的。 至於你應該直接通過API在文件中創建什麼,它取決於你的用例,但一般來說,相對穩定的數據(=你的本體)更容易從文件加載,而改變很容易通過API直接創建/操作。 –

+0

請再提一個問題。我現在正在考慮創建一個文件併爲它做本體論。在那個文件中,是否應該包括這些陳述在內? – user2864315