В вашем вопросе смешано много разных вещей, я настоятельно рекомендую вам уделить немного времени (в сторону от клавиатуры!), Чтобы обдумать, чего вы пытаетесь достичь здесь.
Во-первых, географические онтологии могут быть довольно сложными, и в этой области уже проделана большая работа.Вероятно, очевидной отправной точкой является онтология GeoNames , которая дает названия географическим объектам, включая такие города, как Дели, и такие страны, как Индия.По крайней мере, вы должны повторно использовать эти имена для мест в вашем приложении, так как это увеличит шансы на то, что ваши данные могут быть успешно объединены с другими доступными источниками связанных данных.
Однако вы, вероятно, неМне не нужны все GeoNames в вашем приложении (я полагаю), поэтому вам также необходимо уточнить , почему вам вообще нужна онтология.Хороший способ подойти к этому извне вашего приложения: вместо того, чтобы беспокоиться о том, какую модель Jena использовать, начните с размышлений о способах завершения предложения «используя онтологию, пользователь моего приложения будетв состоянии ... ".Это должно привести вас к постановке вопросов о компетенции (см., Например, раздел 3 данного руководства ) для вашей онтологии.Как только вы узнаете, какую информацию вы хотите представить, и какие запросы вам нужно к ней применить, ваш выбор технологий станет намного более понятным.Я понимаю, что эти приложения, как правило, разрабатываются итеративно, и вы захотите попробовать какой-то код довольно рано, но я по-прежнему выступаю за то, чтобы лучше понять ваш пункт назначения, прежде чем приступить к написанию кода.
Вы подразумеваетечто вы хотите использовать Йену для управления веб-сайтом.Здесь есть много вариантов.Не вводите в заблуждение термин семантическая сеть - это на самом деле означает привнесение веб-подобных свойств во взаимосвязанные наборы данных, а не вводит семантику в понятные человеку веб-страницы как таковые.В то время как вы можете сделать это, и многие люди делают это, вам понадобятся дополнительные слои в вашей архитектуре.Обычно мы используем один из двух подходов: использование Jena с движком шаблонов, таким как Velocity , в контейнере сервлетов, или использование веб-инфраструктуры Ruby и управление Jena через JRuby .Есть много других способов решения этой конкретной проблемы: Jena не обращается напрямую к веб-публикации, но ее можно использовать в любой веб-среде на основе Java.
Наконец, что касается пространств имен, вам действительно следует использовать повторно.существующие словари и, следовательно, пространства имен, где это возможно.Не придумывайте новые имена для вещей, которые где-то уже имеют представление в сети данных.Используйте GeoNames, или DbPedia , или любой из множества других опубликованных словарей, где они подходят.Если они не подходят, то вам следует создать новое имя, а не использовать существующее имя несовместимым способом.В этом случае вы должны использовать веб-домен вашего приложения (например, вашей компании или университета) в качестве основы для пространства имен.В идеале вы должны опубликовать свою онтологию по базовому URL-адресу пространства имен, но иногда это может быть трудно организовать в зависимости от локальных веб-политик.