Hay un montón de diferentes cosas mezcladas en su pregunta, le recomiendo encarecidamente que tome un poco de tiempo (lejos del teclado!) Para pensar en lo que estamos tratando de lograr aquí.
En primer lugar, las ontologías geográficas pueden ser bastante complejas, y ya se ha trabajado mucho en esta área. Probablemente el punto de partida obvio es el GeoNames ontology, que da nombres a las características geográficas, incluidas ciudades como Dehli y países como India. Por lo menos, debe volver a utilizar esos nombres para los lugares de su aplicación, ya que eso maximizará las posibilidades de que sus datos se puedan unir con éxito con otras fuentes de datos vinculados disponibles.
Sin embargo, probablemente no desee la totalidad de GeoNames en su aplicación (supongo), por lo que también debe tener en claro por qué necesita una ontología. Una buena forma de abordar esto es desde el exterior de su aplicación: en lugar de preocuparse por qué tipo de modelo de Jena usar, empiece por pensar en formas de completar la oración "con la ontología, un usuario de mi aplicación podrá ... ". Esto debería llevarlo a establecer algunas preguntas de competencia (consulte, por ejemplo, section 3 of this guide) para su ontología. Una vez que sepa qué tipo de información desea representar y qué tipos de consultas necesita aplicar, las opciones de tecnología serán mucho más claras. Me doy cuenta de que estas aplicaciones suelen desarrollarse de forma iterativa, y querrás probar el código bastante pronto, pero aún así, recomiendo tener más claro tu destino antes de comenzar tu viaje de codificación.
Quiere decir que quiere usar Jena para conducir un sitio web. Hay muchas opciones aquí. No se deje engañar por el término web semántica - esto en realidad significa aportar cualidades parecidas a la web a conjuntos de datos intercalados, en lugar de poner la semántica en páginas web legibles por el hombre per se. Si bien puede hacerlo, y muchas personas lo hacen, necesitará algunas capas adicionales en su arquitectura. Normalmente utilizamos uno de dos enfoques: utilizar Jena con un motor de plantillas, como Velocity, en un contenedor de servlets, o usar un marco web de Ruby y conducir Jena por JRuby.Hay muchas otras maneras de resolver este problema en particular: Jena no aborda la publicación web directamente, pero puede usarse en cualquier marco web basado en Java.
Finalmente, con respecto a espacios de nombres, realmente debería volver a utilizar los vocabularios existentes, y por lo tanto los espacios de nombres, cuando sea posible. No invente nuevos nombres para cosas que ya tienen representaciones en la web de datos en alguna parte. Use GeoNames, o DbPedia, o cualquiera de los muchos otros vocabularios publicados donde quepan. Si no encajan, entonces debes crear un nuevo nombre en lugar de usar un nombre existente de una manera no compatible. En este caso, debe usar el dominio web de su aplicación (por ejemplo, su empresa o universidad) como base para el espacio de nombres. Idealmente, debe publicar su ontología en la URL base del espacio de nombres, pero a veces puede ser difícil organizarla según las políticas web locales.
¿Cuál es la parte con la que tiene problemas, la extracción de información o la API de Jena? –
Necesito un ejemplo simple para crear un archivo OWL basado en las declaraciones anteriores o triples. Soy un principiante y no tengo mucho conocimiento sobre ontología o jena. ¡Un ejemplo simple de crear un modelo de búho me será útil! – wasimbhalli