2013-07-17 2 views
1

Я новичок в Йене, но когда я смотрю на словари, определенные с источником Йены (то есть в 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).Некоторые Jena vocabs используют 'ResourceFactory.createProperty()', в то время как другие используют 'ModelFactory.createDefaultModel(). CreateProperty()'

Я понимаю, что ResourceFactory используется для создания ресурсов и свойств без ссылки на 'model', но я просто хочу понять, почему некоторые из этих vocabs решили создать и использовать экземпляр 'model', в то время как другие предпочитают не делать этого.

Это просто личный стиль, или один подход обычно рекомендуется по сравнению с другим (может быть, один стиль - это «старый подход», поскольку я понимаю, что Йена была вокруг долгое время)?

Я бы хотел использовать словарный запас RDFS и DC_11 с моим кодом и, очевидно, определить свои собственные ресурсы и свойства приложения, поэтому я просто пытаюсь понять, какой подход я должен принять для своих собственных вещей.

ответ

1

То, что оба стиля используются, - это только историческая авария. Думаю, в эти дни я бы предположил использовать подход ResourceFactory, просто потому, что он избегает (небольших) накладных расходов на выделение модели, и модель не дает вам никаких реальных преимуществ. В какой-то момент мы, вероятно, вернемся и сделаем некоторые рефакторинги, чтобы использовать только один подход в кодовой базе Jena.

+0

Прохладный - спасибо Яну, это было именно то, что я искал! Я догадался, что причина может быть исторической, и я все равно склонялся к подходу «ResourceFactory», поэтому спасибо миллиону за то, что нашли время, чтобы проверить это для меня :) –

+0

Если вы чувствуете, что на ваш вопрос ответили, вы можете уведомить о будущем SO читателей с тем же расследованием этого факта, отметив галочку рядом с вашим предпочтительным ответом. –

+0

Да, я знаю Иана, но моя репутация всего лишь «6» (!), И вам нужно 15 на Up-Vote - извините! –