2011-10-05 15 views
7

Web Semántica: Mejores prácticascuáles son las mejores prácticas en el desarrollo de aplicaciones utilizando semántica Jena y RDF

Soy nuevo en la Web Semántica, en mi solicitud, estoy usando Protege, RDF, SPARQL, Jena, Virtuaso. Mi preocupación es que, en Java Frameworks populares (como Hibernate), tenemos la capa POJO, en esta aplicación de la Web Semántica ¿puedo tener la misma cosa? ¿es una buena práctica? Quiero saber, Jena me proporciona la conexión de RDF y el modelo, pero ¿cuáles son las mejores prácticas para diseñar toda la aplicación? En el front end usaré HTML y JS simples, por lo que los servlets estarán allí. Además, deseo conocer los estándares para representar una ontología creada en Protege en Java (sin utilizar OntModel, porque no estoy utilizando OWL).

Respuesta

1

Como en cualquier aplicación web, tendrá que tomar decisiones arquitectónicas para tres o más capas.

almacenamiento capa

La mayoría de las herramientas para la manipulación de la ontología (Jena, Virtuoso, sésamo, Protege) ofrece una serie de formas de almacenar sus datos: en proceso (en la memoria) modelos, modelo RDB (en RDBMS de su elección), almacenamiento en formato nativo. La elección depende de las limitaciones de su entorno y los requisitos de rendimiento/escalabilidad.

capa de manipulación

Selección de una solución a este problema trae siempre un cierto equilibrio entre el nivel de abstracción y expresividad. Esto se debe a que es difícil asignar todas las construcciones de ontología a construcciones orientadas a objetos.

Dado que usted puede elegir entre:

  • Jastor o JenaBean que genera clases Java POJO que corresponde a sus clases de la ontología, y
  • Jena Model/OntModel o Protege API a minipulate RDF, OWL, y el marco ontologías basadas en un nivel inferior.

Jastor envuelve Jena OntModel o Model pero esconde internos Jena de usted, por lo que si lo encuentra limitado siempre se puede extenderlo. Tenga en cuenta que Jastor parece no mantenerse más.

capa Representación

tecnologías de capa Manipulación vamos que ocultar partes internas de la ontología de la vista de la representación, por lo que puede utilizar las tecnologías tradicionales como JSP para producir la salida HTML. Sin embargo, para algunos problemas, puede ser conveniente que usted emita el modelo en formato RDF/XML y aplique una transformación similar a XSL (T). Encontré rx4RDF, una herramienta basada en Python, útil para soportar este tipo de transformaciones.

Descargo de responsabilidad: Trabajé hace 6 años con las tecnologías mencionadas. Las cosas pueden haber cambiado mientras tanto. Por lo tanto:

  • Lo invito a ver las arquitecturas de diferentes aplicaciones existentes de la Web Semántica y encontrar la que se adapte a su problema. Por ejemplo, here.
  • Aunque se ha trabajado mucho en el campo de la herramienta de Web Semántica, esta tecnología sigue siendo nichè. Para enfocarse mejor en su pregunta, puede intentar hacer su pregunta en listas de correo de productos y foros de investigación.
  • Además, W3C mantiene bastante tiempo list of tools para el procesamiento RDF.
Cuestiones relacionadas