獲取財產我有一個RDFS本體具有User
類這樣:耶拿和RDFS:從外部本體
<rdfs:Class rdf:ID="User">
<rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent" />
<rdfs:comment>
The class of users, subclassing the foaf:Agent class.
</rdfs:comment>
</rdfs:Class>
的foaf:Agent
類有一個屬性叫做name
,我想用耶拿加載的東西類似於:
Property name = model.getOntProperty(ns + "name");
的問題是,我得到一個NullPointerException當我嘗試使用它像這樣:
model.createStatement(resource, name, "Nicolas Cage");
我也嘗試過使用foaf標準命名空間(ns = "http://xmlns.com/foaf/0.1/";
),儘管我不確定它有多少意義。
最後,我不知道什麼是正確的方法。我應該創建它嗎? Jena不知何故在外部本體中自動找到它?
請提供一個完整的,最簡單的例子。細節很重要。 你的空指針是由於不同的東西 - 檢查堆棧跟蹤。 – AndyS
您不必加載任何內容即可創建屬性。屬性由URI標識,並且您只需引用URI,您正在使用'Property name = model.getOntProperty(ns +「name」)正確執行;「如果實際上'ns'爲'http: // xmlns.com/FOAF/0.1 /'。 –