我與JENA framework
工作刮有關公共合同信息,併發布爲RDF,我不能克服以下問題:
當創建新的RDF模型,我爲每個新建Resource
合同,然後分配一堆屬性(我刮)使用JENA的addProperty(Property, RDFNode)
或addProperty(Property, String)
方法。問題是,有些合同缺少一些屬性,所以我得到NullPointerException
。
使用如何避免過多的空比較
if(contract.getProperty() != null)
{
resource.addProperty(VOCABULARY.property, contract.getProperty());
}
爲每一個屬性可能不是最好的方式,因爲addProperty()
方法的第二個參數相差很多 (它可以直接在contract.getProperty()
,但有時也model.createLiteral(contract.getProperty())
或 model.createTypedLiteral(contract.getProperty(), XSDDataType.XSDInt)
等),我無法創建我自己的myAddProperty()
方法 ,我將檢查null
並致電JENA的addProperty()
。
作爲跳過所有空屬性的最佳解決方案,您會有什麼建議?
非常感謝您的任何建議。
什麼類型的類是資源變量?你能繼承那個類並重寫'addProperty()'方法嗎? – Marcelo
爲什麼不能「myAddProperty()」然後調用「addProperty()」方法? – JustinKSU
@Marcelo資源變量是com.hp.hpl.jena.rdf.model.Resource類型,不錯的主意,我會嘗試創建並覆蓋addProperty() – tom