1

我是 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 用于在不参考 a 的情况下创建资源和属性'model',但我只想了解为什么其中一些词汇选择创建和使用'model'实例而其他词汇不选择。

它只是个人风格,还是通常推荐一种方法而不是另一种方法(也许一种风格是“旧方法”,据我所知,Jena 已经存在很长时间了)?

我想在我的代码中同时使用 RDFS 和 DC_11 词汇,并且显然定义了我自己的特定于应用程序的资源和属性,所以我只是想了解我应该为自己的东西采用哪种方法。

4

1 回答 1

1

两种风格都被使用只是历史偶然。我认为这些天来,我可能会建议使用该ResourceFactory方法,仅仅是因为它避免了分配模型的(小)开销,并且模型没有给您带来真正的优势。在某个时候,我们可能会返回并进行一些重构,以便在 Jena 代码库中只使用一种方法。

于 2013-07-17T16:01:19.843 回答