我是Jena的新手,但是当我查看使用Jena源定义的词汇表(即在directory: jena-2.10.0-Source\jena-core\src\main\java\com\hp\hpl\jena\vocabulary
中)时,我看到一些词汇表使用'ResourceFactory.createProperty()'
创建属性和资源(例如OWL2) .java,RDF.java,RDFS.java),而同一目录中的其他人使用'ModelFactory.createDefaultModel().createProperty()'
(例如DC_11.java,VCARD.java,DCTerms.java)。
我知道ResourceFactory用于创建资源和属性而不引用'model'
,但我只是想了解为什么这些词汇中的一些选择创建和使用'model'
实例而其他人选择不要。
这只是个人风格,还是通常推荐的另一种方法(也许一种风格是'老方法',因为我知道Jena已经存在了很长时间)?
我想在我的代码中同时使用RDFS和DC_11词汇,并明确定义我自己的应用程序特定的资源和属性,所以我只是想了解我应该采用哪种方法来处理我自己的事情。 / p>
答案 0 :(得分:1)
这两种风格都只是历史意外。我想这些天,我可能会建议使用ResourceFactory
方法,因为它避免了分配模型的(小)开销,而且模型没有给你带来真正的好处。在某些时候,我们可能会回去做一些重构,只是在Jena代码库中使用单一方法。