Post on 21-Mar-2020
2.- Web Semántica y Ontología
La World Wide Web (del inglés, Telaraña Mundial), la Web o WWW, es un
sistema de hipertexto que funciona sobre Internet. Para ver la información se
utiliza una aplicación llamada navegador web para extraer elementos de
información (llamados "documentos" o "páginas web") de los servidores web (o
"sitios") y mostrarlos en la pantalla del usuario. El usuario puede entonces seguir
hiperenlaces que hay en la página a otros documentos o incluso enviar
información al servidor para interactuar con él. A la acción de seguir hiperenlaces
se le suele llamar "navegar" por la Web. No se debe confundir la Web con
Internet, que es la red física mundial sobre la que circula la información.
Desde la aparición por primera vez de la World Wide Web, se ha convertido para
el mundo en un gran instrumento de uso cotidiano en nuestra sociedad,
comparable a otros medios tan importantes como son la radio, la televisión, el
periódico y el teléfono, a los que podemos decir que les lleva una gran ventaja en
muchos aspectos. La web actual es hoy un gran medio altamente flexible y
económico para la comunicación, acceso a información y servicios, el comercio y
los negocios, difusión de cultura, entretenimiento y ocio, etc. Con esto se ha visto
el crecimiento espectacular de la web, todas las tecnologías que la hacen o han
hecho posible han experimentado una rápida evolución. Podemos mencionar las
primeras tecnologías básicas como: HTML y HTTP, que lo utilizamos
actualmente, luego han aparecido otras tecnologías que han ayudado a mejorar la
web (algunas de las más conocidas) como CGI, Java, JavaScript, PHP, ASP,
Flash, XML, en la cual hacen posible una web mejor, más potente, más flexible,
más amplia y sobre todo más fácil de mantener. Todos estos cambios influyen en
el crecimiento y desarrollo de las tecnologías web y permiten la transformación
del WWW. También debemos hablar de la generación dinámica de páginas, el
acoplamiento con bases de datos, la mayor interactividad con el usuario, la
concepción de la web como plataforma universal para el despliegue de
aplicaciones, la adaptación al usuario, son algunas de las tendencias evolutivas
más marcadas de los últimos años que permiten crecer en la web.
Alrededor de 1989 en los laboratorios del CERN (Centro Europeo para la
Investigación Nuclear) [1998], comienza a gestarse un proyecto que
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 2 Ontología en la Web Semántica
revolucionaría el mundo, el del hipertexto global, su promotor Tim Berners-Lee
(2001) era el artífice de lo que años más tarde seria el World Wide Web. Desde el
momento de su nacimiento el WWW se basa en tres estándares:
− URL (Localizador Universal de Recursos). Cadena de caracteres con la cual
se asigna una dirección única a los recursos de información disponibles en
Internet.
− HTTP (Protocolo de Transferencia de Hipertexto). Sistema mediante el
cual se envían las peticiones de acceder a una página web, y la respuesta a la
misma.
− HTML (Lenguaje de Marcación de Hipertexto). Es un lenguaje de marcas
diseñado para estructurar textos y presentarlos en forma de hipertexto.
El resultado de estos protocolos es visualizado en programas conocidos como
Navegadores Web, que en un principio eran muy simples y sólo permitían la
presentación de texto, pero como la tecnología, en especial la informática, avanza
a pasos agigantados, rápidamente se incluyen los gráficos. Se destaca en este
aspecto el Netscape Communicator que, ya en el temprano 1994, añade
características adicionales como contenido dinámico, música y animación,
elementos que están presentes en casi todos los navegadores actuales. Hoy en día
se permiten incluso servicios en tiempo real tales como Chat, radio web, y
webcams en directo.
Además el número de dispositivos que actualmente accede a la Web crece de
manera acelerada, por sólo mencionar algunos tenemos: teléfonos móviles,
teléfonos inteligentes, asistentes digitales personales (PDA), sistemas de televisión
interactivos, sistemas de respuesta de voz, puntos de información e incluso
algunos pequeños electrodomésticos pueden acceder a la Web.
El Consorcio World Wide Web (W3C) [2005], se funda en 1994 por Tim Berners-
Lee en colaboración con el CERN, como un consorcio dedicado a generar
consenso en relación con las tecnologías Web y como opción de normalización
ante el creciente desorden del WWW. Se trata de una asociación internacional
formada por organizaciones miembro del consorcio, personal y el público en
general, que trabajan conjuntamente para desarrollar estándares Web. Su misión:
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 3 Ontología en la Web Semántica
Guiar la Web hacia su máximo potencial a través del desarrollo de protocolos y
pautas que aseguren el crecimiento futuro de la Web.
Su objetivo fundamental es que la Web alcance su máximo potencial, para ello las
tecnologías Web deben ser compatibles entre sí y permitir que cualquier hardware
y software utilizados para acceder a la Web puedan funcionar conjuntamente. El
W3C hace referencia a este objetivo denominándolo "interoperabilidad Web". Al
publicar estándares abiertos (no propietarios) para lenguajes Web y protocolos, el
W3C busca evitar la fragmentación del mercado y, por lo tanto, de la Web.
Esta nueva generación de la Web ha producido nuevos desarrollos y aplicaciones
donde una de las más importantes tiene relación con la estructuración de la
información. Lenguajes como XML (2005a), XMLS, RDF (1999), RDFS, XSL,
ontologías -lenguajes ontológicos- (Silvia 2001), agentes inteligentes, FLogic,
Description Logic entre otros, han sido propuestos por el consorcio W3C, y son
comúnmente usados para representar y manejar la información adecuadamente y
con mayor valor significativo. El W3C es un consorcio internacional encargado de
proponer y desarrollar estándares Web, que está actualmente bajo la dirección de
Tim Berners-Lee, creador de la WWW.
Según García (2002), la idea principal de la Web semántica es que los datos y la
información, pasen a ser metadatos contenidos en las páginas y sitios Web, para
que sean usados y derivados no sólo sintácticamente, como es actualmente el
proceso que se lleva a cabo, sino con un alto nivel de semántica para que los
agentes inteligentes interactúen con ellos de acuerdo al significado que se ofrece
en un dominio especificado y así, procesos tales como la búsqueda y optimización
de recursos Web se puedan hacer de forma casi semiautomática.
Entre los lenguajes ontológicos que se destacan están SHOE, DAML+OIL, OIL,
OWL, RDF, Ontolingua entre otros, que ayudan a representar e identificar la
información en un dominio consensuado. Tales lenguajes poseen mecanismos de
inferencia implementados de manera distinta de acuerdo a algunos criterios que se
sugieren en la construcción de ontologías que tienen que ver con el dominio de
conocimiento de la aplicación en particular.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 4 Ontología en la Web Semántica
Puesto que las ontologías son colecciones de entidades que definen las relaciones
entre conceptos y especifican las reglas lógicas para realizar razonamientos sobre
estas relaciones, tienen unos componentes que ayudan a representar el
conocimiento en cuanto a la expresividad y a los posibles mecanismos de
inferencia que se puedan realizar sobre la representación de dicho conocimiento.
Sin embargo, el problema que surge es que no es posible definir a ciencia cierta
cual de los lenguajes es apropiado a la hora de implementar una aplicación
ontológica pues es difícil resolver el conflicto que se presenta entre el grado de
expresividad de la información que se debe tener y el mecanismo de inferencia
óptimo para deducir a partir de la información representada.
El problema objeto de estudio con respecto a este panorama es analizar algunos de
los mecanismos inferenciales de un lenguaje ontológico en particular, de acuerdo a
las teorías lógicas proporcionadas por Frame Logic – FLOGIC. FLOGIC es una
especificación de la lógica que permite la representación de conceptos,
taxonomías, relaciones binarias, funciones, instancias, axiomas y reglas de
deducción, -en otras palabras, algunos de los más importantes componentes
ontológicos. Para este análisis será necesario implementar una pequeña aplicación
ontológica en la cual se puedan realizar las operaciones necesarias que permitan
modelar los resultados del análisis deseado.
Estas son unas palabras de Tim Berners-Lee (2001), cuando ante una pregunta,
de hacia dónde se encaminaba la web respondió:
"Personalmente he apostado por la Web Semántica; este concepto se
fundamenta en la idea de disponer los datos en un formato que pueda ser
comprendido de forma natural por las propias máquinas que tejen la Web..."
Y más adelante concluyó:
"También creo que el mundo en vías de desarrollo tiene el potencial para
establecer una forma completamente distinta de Internet que podría sustituir a
la Red tal como la conocemos. Pienso que debemos preguntarnos desde un
punto de vista tecnológico si toda la tecnología Internet no ha sido una
invención de Occidente para Occidente..."
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 5 Ontología en la Web Semántica
La web semántica es un área pujante nacida en la confluencia de la inteligencia
artificial y las tecnologías web, que propone nuevas técnicas y paradigmas para la
representación del conocimiento que faciliten la localización, compartición e
integración de recursos a través de la web. Estas nuevas técnicas se basan en la
introducción de conocimiento semántico explícito que describa y/o estructure la
información y servicios disponibles, de forma susceptible de ser procesada
automáticamente por un programa. Uno de los ejes principales de esta visión es la
noción de ontología como herramienta clave para alcanzar un entendimiento entre
las partes (usuarios, desarrolladores, programas) que participan de este
conocimiento común.
Algunas de las aplicaciones que se beneficiarán de los avances en la Web
Semántica son, por poner algunos ejemplos, las plataformas de aprendizaje
electrónico, las aplicaciones de gestión del conocimiento y los Web Services
(2003), debido a que la información basado en representaciones del significado de
los recursos de la Web, logrando estándares abiertos para la visualización y
navegación de forma dinámica.
Por otra parte es importante destacar que, por diversos motivos, estamos en un
buen momento para hablar de la Web Semántica según Castells (2003) y para
profundizar y creer en su potencial. Algunas de las razones que justifican esta
afirmación son, por ejemplo:
a) El nivel de estabilidad y formalización de facto a través de las especificaciones
de acceso público del W3C de los estándares vinculados al desarrollo de la
SW. Desde el 10 de febrero de este año, todas las especificaciones del W3C,
vinculadas a la Web semántica se convirtieron en Recomendaciones (seis
relativas a RDF y seis especificaciones sobre OWL), con la declaración de que
tanto el grupo de trabajo sobre RDF como el de OWL han completado con
éxito sus productos finales.
b) El nivel de difusión y desarrollo de conceptos, herramientas y tecnologías
implicadas en la SW. Este nivel de difusión va desde el trabajo en listas
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 6 Ontología en la Web Semántica
especializadas y en el canal IRC - #RDFIG, hasta las actividades que ha
desarrollado el W3C en el contexto del proyecto SWAD-E o la proliferación
de noticias en Weblogs que, de forma espontánea o formal constituyen un
acervo de reflexiones sobre el tema, desde distintos puntos de vista.
Para Berners-Lee (2001), la infraestructura de tecnologías y lenguajes necesaria
para la implementación de la Web Semántica se puede esquematizar en varias
capas o niveles:
− Un modelo básico para establecer asertos (propiedades sobre los recursos),
para el que se empleará RDF –Resource Description Framework- (2001);
− Un modelo para definir relaciones entre los recursos, a través de clases y
objetos, expresado mediante: a)Una capa lógica que permita realizar
consultas e inferir conocimiento, donde entrarían en juego las ontologías y
los agentes software; b) Una capa de seguridad que permita asignar niveles
de fiabilidad a determinados recursos, de forma comprobable posteriormente
por los agentes, para lo que se usarán firmas digitales y redes de “confianza”.
Elementos básicos de la web semántica
Cuando hablamos de Web Semántica implica hablar de múltiples estándares,
metalenguajes o especificaciones técnicas, representados por un conjunto
interminable de siglas o acrónimos (tales como RDF, RDF Schema, XML, XML
Schema, DCMI, DALM, OIL, OWL, SKOS, RSS, FOAF, SVG, CCPP, etc.) y de
conceptos vinculados a ellos (metadatos, ontologías, agregación de contenidos,
interoperabilidad, entre otros).
La Web semántica tiene como objetivo crear un medio universal para el
intercambio de información basado en representaciones del significado de los
recursos de la Web, de una manera inteligible para las máquinas. Con ello se
pretende ampliar la interoperabilidad entre los sistemas informáticos y reducir la
mediación de operadores humanos en los procesos inteligentes de flujo de
información. El precursor de la idea, Tim Berners-Lee (2002) miembro fundador
del W3C, se esfuerza en que su propuesta de la Web semántica sirva para ampliar
la capacidad de la World Wide Web mediante estándares, lenguajes de marcado y
otras herramientas aplicables a su tratamiento.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 7 Ontología en la Web Semántica
De la web actual a la web semántica
Llegados a este punto una pregunta importante a responder es cómo encaja la web
semántica con la actual, es decir a) cómo accederá el usuario a la web semántica, y
sobre todo, b) cómo hacer la transición de la web actual a la web semántica. Para
que la web semántica pueda realizarse es importante que guarde, al menos al
principio, una compatibilidad con la tecnología actual. Es deseable por ejemplo
mantener HTML (u otros lenguajes compatibles con los navegadores
actuales) como vehículo de comunicación con el usuario. La asociación entre
las instancias de la web semántica y el código HTML se puede establecer de
distintas maneras (ver figura 3). Una consiste en conservar los documentos
actuales, y crear las instancias asociadas anotando su correspondencia con los
documentos (imagen izquierda en la figura 3). Esta posibilidad es la más viable
cuando se parte de un gran volumen de material antiguo. Otra es generar
dinámicamente páginas web a partir de las ontologías y sus instancias (imagen
derecha). Esta última opción puede resultar factible cuando los documentos
antiguos ya se estaban generando automáticamente a partir, por ejemplo, de una
base de datos.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 8 Ontología en la Web Semántica
Figura Nº 3: Comparación entre una red de datos y una red semántica. Fuente: www.javahispano.org
La transición de la web actual a la web semántica puede implicar un coste
altísimo si tenemos en cuenta el volumen de contenidos que ya forman parte de la
web. Crear y poblar ontologías supone un esfuerzo extra que puede resultar
tedioso cuando se agregan nuevos contenidos, pero directamente prohibitivo por
lo que respecta a integrar los miles de gigabytes de contenidos antiguos. Las
estrategias más viables combinan una pequeña parte de trabajo manual con la
automatización del resto del proceso. Las técnicas para la automatización
incluyen, entre otras, el mapeo de la estructura de bases de datos a ontologías, el
aprovechamiento, previa conversión, de los metadatos y estándares de
clasificación presentes en la web (y fuera de ella), y la extracción
automática de metadatos a partir de texto y recursos multimedia.
Lenguajes que se aplican en el desarrollo:
XML
XML (eXtensible Markup Language) Según Simón (2001), permite la
codificación para la distribución de documentos complejos por Internet. Aporta la
sintaxis superficial para los documentos pero sin dotarlos de ninguna restricción
sobre el significado.
Uno de los resultados del empuje general hacia una estructura más semántica en
la Web, fue el desarrollo del lenguaje de demarcación XML, que permite que los
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 9 Ontología en la Web Semántica
creadores de páginas web, usen su propio conjunto de etiquetas de
demarcación. Esas etiquetas pueden ser elegidas de manera tal que reflejen la
semántica específica del dominio tratado, en lugar de ocuparse meramente
de la posición y formato de la información que comprenden.
XML Schema
Para Simón (2001), es un lenguaje para definir la estructura de los documentos
XML.
SGML
SGML (Standard Generalized Markup Language), la Universidad de Deusto
(2002), es una norma que pretende establecer una manera genérica de especificar,
definir documentos, la cual permitiese a su vez usar formatos de mayor
flexibilidad y portabilidad. Con lo cual reunía tres condiciones básicas:
− Formal: pues permite establecer la validez de los documentos.
− Estructurado: para que fuese capaz de manejar documentos complejos.
− Ampliable: para facilitar la gestión de grandes depósitos de información.
RDF
RDF son las siglas definen Resource Description Framework (marco de
descripción de recursos) Como su nombre indica el área en la que está enmarcado
es la descripción de recursos de la red, entendiendo por recurso todo lo que nos dé
en sí la imaginación, en tanto que a definir cualquier cosa, páginas, personas,
dispositivos, etc. RDF permite, que las condiciones que se quieren "preguntar"
sobre un recurso sean definidas como un conjunto de propiedades que componen
el esquema.
RDF ofrece una estructura semántica no ambigua (por el uso de los URI, Uniform
Resource Identifier) que permite codificación, intercambio y procesamiento
automático de los metadatos normalizados.
El RDF provee un medio de agregar semántica a un documento sin referirse a su
estructura. RDF es una aplicación XML recomendada como estándar por la W3C.
RDF proporciona también reglas para facilitar técnicamente la manera de explicar
conceptos de modo que los ordenadores puedan procesarlo rápidamente y
proporciona un medio que posibilita la edición de vocabularios con propiedades
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 10 Ontología en la Web Semántica
definidas para la descripción de los recursos de una comunidad. RDF usa la
sintaxis del lenguaje XML para el intercambio y procesamiento de metadatos, las
condiciones se recogen en los rdf: Descripción de los elementos XML.
El modelo de datos de RDF provee tres tipos de objetos: recursos, propiedades y
sentencias
− Un recurso es una entidad que puede ser referenciada por un Identificador
Único de Recursos (URI).
− Una propiedad define una relación binaria entre recursos y/o valores
atómicos de los tipos de datos primitivos provistos por XML.
− Una sentencia especifica un valor en una propiedad para un determinado
recurso.
En la siguiente figura se muestra el modelo RDF que corresponde a la siguiente
aseveración:
Figura Nº 4: Representación de un valor estructurado en RDF
Fuente: Simón (2001)
“El empleado referenciado por la matrícula P551255 se llama José Luis Arceiz y
tiene como dirección de correo Jose.arceiz@arcelor.com El recurso
http://www.jarceiz.es ha sido creado por este empleado.”
Para procesar modelos RDF, éstos deben ser serializados en XML
previamente, de esta forma RDF explota la denotación de XML para permitir que
diferentes orígenes de información puedan intercambiar el conocimiento
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 11 Ontología en la Web Semántica
que expresa. A continuación se aporta la serialización en XML
correspondiente al ejemplo de la figura Nº 4.
<rdf:RDF>
<rdf:Description about=”http://arcelor.es/empleados/P551255” >
<s:Creator>
<rdf:Description about=”http://www.jarceiz.es” >
<v:Name>Jose Luis Arceiz </v:Name>
<v:Email>jose.arceiz@arcelor.com</v:Email>
</rdf:Description >
</s:Creator>
</rdf:RDF>
RDF Schema
RDF Schema es un vocabulario para describir las propiedades y las clases de los
recursos RDF, con una semántica para establecer jerarquías de generalización
entre dichas propiedades y clases
Un XML Schema es un medio de definir restricciones de la sintaxis y la
estructura de documentos XML, tiene el mismo propósito que una DTD, pero
significativas ventajas:
− Definiciones realizadas en un XML Schema son ellas mismas documentos
XML, no es necesario un segundo lenguaje como se debe usar en las DTDs,
y una ventaja es que todo lo desarrollado para documentos XML puede
usarse para documentos de tipo XML Schema.
− Proveen un conjunto de tipos de datos mucho más rico que el que puede ser
definido actualmente en una DTD.
− Permiten definir anidamientos en la estructura de una manera mucho más rica
que las DTDs.
− Usan el mecanismo de espacios de nombres de XML para combinar
documentos XML provenientes de orígenes heterogéneos.
− Permite definir una clasificación de recursos en términos de clases, subclases,
propiedades, etc.
− Establece relaciones sobre las posibles combinaciones.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 12 Ontología en la Web Semántica
HTML:
Todos los navegadores lo entienden, lo cual quiere decir que además se puede
navegar mediante él lo cual permite leer de una manera más cercana a como se
piensa, mediante un montón de enlaces (asociaciones). El problema de este
formato es que también está bastante limitado. Por ejemplo, queremos tener en
nuestro documento una ecuación matemática, pues una forma de dar solución a
ello, tan solo poniendo una imagen más no un código, por el cual la página se
pone más pesada, entonces en nuestra ecuación nos damos cuenta de que en vez de
un 2 queremos poner un 3, pues entonces tenemos que modificar la imagen lo cual
es un problema, pero si tuviéramos que modificar 20 imágenes ya sería algo
realmente tedioso. Y todo porque html no es una ecuación. Este ejemplo es
extrapolable a muchos más casos pero creo que este es bastante ilustrativo, ya que
todos hemos tenido que manejar las matemáticas en nuestros estudios y muchos
seguimos haciéndolo.
FOAF
Para Mariano (2003), el FOAF es una aplicación basada en XML (lenguaje de
marcas extensibles), RDF (marco de trabajo para la descripción de recursos) y
OWL (lenguaje de ontologías web), tecnologías recomendadas por el W3C.
Mariano (2003) explica que se trata de un archivo XML (en realidad, RDF escrito
en XML) con el cual se describen personas, documentos o cualquier cosa. En ese
archivo que desde ahora llamaremos FOAF, indicamos a qué personas conozco,
quiénes son mis amigos y quiénes no, cuáles son mis proyectos actuales y
anteriores, qué grado de interés tengo por unos temas u otros... casi todo puede ser
definido. Para Dan Birbeck (2000), uno de los cofundadores del proyecto FOAF
junto con Libby Miller, la idea es muy simple, un archivo que puede ser
interpretado por un ordenador, tecnología que profundiza en la Web Semántica.
Una vez que dispones de tales archivos puedes navegar a lo largo de todos los
documentos legibles por ordenadores que se encuentran en la web y dispones de
una base inmensa para extraer la información que necesitas y crear tu propia base
de datos a medida.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 13 Ontología en la Web Semántica
ONTOLOGÍAS
Ontología (OWL): Términos utilizados para describir y representar un área de
conocimiento. En realidad, OWL no es un acrónimo verdadero. El lenguaje
comenzó su andadura como "Web Ontology Language" (Lenguaje de Ontologías
Web), (2005) pero al Grupo de Trabajo no le gustaba el acrónimo "WOL", así que
decidimos llamarlo OWL.
Las ontologías son colecciones de enunciados redactados en un lenguaje, como el
RDF, que define las relaciones entre conceptos y especifica reglas lógicas para
razonar con ellos. Los ordenadores "comprenderán" el significado de los datos
semánticos de una página de la red siguiendo vínculos con ontologías
especificadas.
Actualmente, los computadores han dejado de ser dispositivos aislados y se han
convertido en puntos de entrada en la red mundial de intercambio de
información y transacciones de negocio. Se ha vuelto un asunto clave
contar con apoyo en el intercambio de datos, información y conocimiento
Emplear el poder de razonamiento automático para guiar el acceso a orígenes de
información requiere de representación de la semántica de tales orígenes de
manera procesable por computador, en consecuencia, se requieren metadatos
que describan de una manera computable, dichos orígenes.
En este trabajo se hace un estudio parcial de los avances realizados hasta el
momento por agregar semántica a la web, como lo son la introducción de XML,
XML Schemas, RDF y RDF Schemas, y reconociendo el aporte que las
ontologías pueden brindar en tal sentido se focaliza en determinar la posibilidad de
representarlas con estos lenguajes. Para aportar una referencia en ontologías,
se describe brevemente el modelo ontológico OIL, concebido para la Web.
Para Lozano (2001), las ontologías tienen los siguientes componentes que servirán
para representar el conocimiento de algún dominio:
− Conceptos: son las ideas básicas que se intentan formalizar.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 14 Ontología en la Web Semántica
− Relaciones: representan la interacción y enlace entre los conceptos del
dominio.
− Funciones: son un tipo concreto de relación donde se identifica un elemento
mediante el cálculo de una función que considera varios elementos de la
ontología.
− Instancias: se utilizan para representar objetos determinados de un concepto.
− Axiomas: son teoremas que se declaran sobre relaciones que deben cumplir
los elementos de la ontología.
Estos últimos componentes, los axiomas, permiten junto con la herencia de
conceptos, inferir conocimiento que no esté indicado explícitamente en la
taxonomía de conceptos.
Disponemos de tres niveles:
− OWL Full: Unión de sintaxis OWL y RDF (sin restricciones). No se garantiza
la eficiencia ni siquiera la decidibilidad.
− OWL DL (Description Logics): Limita la expresividad intentando conseguir
decidibilidad, máxima expresividad manteniendo completitud y
computabilidad. Limitaciones: las clases no son instancias ni tipos, los tipos no
son instancias ni clases. OWL DL se basaba en el sistema SHIQ de
descripción logics: Semántica bien definida, propiedades formales
(decidibilidad, complejidad), algoritmos de razonamiento conocidos, varios
Sistemas que lo implementan.
− OWL Lite: Subconjunto de OWL DL más fácil de implementar (y se espera
que más eficiente), restricciones simples (p.ej cardinalidad sólo 0 ó 1), facilita
compatibilidad con otros modelos /paradigmas, facilita desarrollo de
herramientas de autor.
3.- Escuela de Ingeniería de Sistemas, en la UCV
La Universidad César Vallejo Campus Piura, viene funcionando desde 1991,
habiendo logrado su consolidación institucional, a través de una funcional
organización académica y administrativa, una excelente plana docente, el
crecimiento de su población estudiantil con más de nueve mil alumnos, una
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 15 Ontología en la Web Semántica
cómoda y moderna infraestructura, la constitución de sus órganos de gobierno
y elección de sus autoridades, todo lo que ha generado la confianza y la
credibilidad de la comunidad regional y nacional.
El esfuerzo desplegado durante el proceso de crecimiento y de desarrollo de
esta Casa de Estudios para alcanzar los resultados descritos, ha estado siempre
orientado y motivado por la visión de hacer de la universidad una de las
mejores instituciones de su género, con calidad y excelencia al servicio del
desarrollo nacional y regional mediante la formación integral de profesionales
productivos y capaces; de la investigación orientada preferentemente a la
solución de problemas de la sociedad y una extensión universitaria oportuna y
necesaria.
Su Misión, es una organización innovadora y creadora de conocimiento
científico y tecnológico, y que aplica sus logros para apoyar el desarrollo de
una sociedad libre, democrática, pacífica y respetuosa de su medio ambiente,
formando profesionales íntegros, competentes y con sólidos valores éticos;
asimismo preserva, crea y difunde la cultura nacional y universal.
Su Visión, aspira a ser en el transcurso de los años, la mejor universidad del
Norte del país, impulsora de la investigación y de la formación integral de las
personas, con el objeto de promover y apoyar el desarrollo nacional y regional.
La UCV Piura en el año 2010 será una organización inteligente y en busca de
la excelencia, dedicada a la formación profesional con sólidos valores,
fomentando la investigación, innovación y proyección a la comunidad,
comprometida con el desarrollo de la región y con una infraestructura
arquitectónica y tecnológica de vanguardia.
Somos una institución universitaria integrante del consorcio UCV-USS, que
forma profesionales innovadores, competitivos, con liderazgo social, solvencia
moral, comprometidos con el desarrollo de su comunidad.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 16 Ontología en la Web Semántica
4.- Método de desarrollo
Herramientas de creación de ontologías (Editores de Ontologías) Son las herramientas que permiten la codificación de una determinada ontología
en base a un determinado lenguaje. Se estudiará este tipo de herramientas ya que
permiten definir la estructura en base a la cual se clasificará la información
realizada a través de anotaciones.
Mencionamos una lista de herramientas que nos permiten trabajar con ontologías
que son:
− Apollo: Aplicación amigable de modelado de conocimiento. El modelado está
basado en torno a los principios básicos tales como clases, instancias, funciones,
relaciones, etc. La interfase de usuario tiene una arquitectura abierta y está
escrito en lenguaje de programación JAVA.
− LinkFactory: Se trata de una herramienta utilizada para construir completos
sistemas de terminología corporativa capaz de extraer valor significativo de gran
cantidad de datos no estructurados almacenados en bases de datos de contenido
corporativo.
− OILEd: Es un editor de ontologías que permite al usuario construir ontologías
utilizando DAML+OIL
− OntoEdit Free and Professional versions: Permite crear y gestionar
ontologías. Confía en los estándares del W3C y ofrece muchas interfaces
exportables a la mayor parte de lenguajes de representación de ontologías. Esta
herramienta permite crear, navegar y modificar ontologías.
− Ontolingua Server: Provee de un entorno de colaboración distribuido para
navegar, crear, editar, modificar y utilizar ontologías.
− OntoSaurus: Es un navegador web para las bases de conocimiento de LOOM.
Proporciona una interfase gráfica hyperenlazada hacia varias de las bases de
conocimiento.
− OpenKnoME: Es la piedra angular de la aplicación utilizada por los motores de
conocimiento topThing. Es un sistema de gestión del conocimiento y un motor
de ontologías. Desde el 2001 el código fuente está abierto para la comunidad
académica y la clínica sin ánimo de lucro.
− Protégé-2000: Editor de ontologías y editor de bases de conocimiento. Es
también de código abierto, herramienta JAVA que proporciona una arquitectura
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 17 Ontología en la Web Semántica
extensible para la creación de aplicaciones de bases de conocimiento
customizadas.
− SymOntoX: Es un software que almacena y gestiona un dominio de ontología.
− WebODE: Herramienta para modelar el conocimiento utilizando ontologías.
Facilita la máxima flexibilidad e interoperabilidad con otras aplicaciones de
negocios necesarias para las empresas de hoy en día.
− WebOnto: JAVA applet con un servidor web customizado que permite a los
usuarios navegar y editar modelos de conocimiento sobre la web.
Después de un estudio de las diferentes herramientas se ha seleccionado la
utilización de Protégé, porque es una herramienta de software libre y tiene una
arquitectura extensible, tiene una interfaz muy agradable y nos permite trabajar en
el desarrollo del proyecto.
La Tesis se ha dividido en 4 partes importantes durante todo el desarrollo, las cuáles que
son: La metodología, las herramientas, el análisis y diseño de la aplicación y el
desarrollo, los cuáles explicaremos a continuación.
A.- Metodologías de desarrollo
Este punto lo detallamos en el Capítulo III, pero mencionamos que se divide en 2
partes: La Metodología para las Ontologías y La Metodología ara el desarrollo del
software.
La metodología:
La metodología para el desarrollo y despliegue de aplicaciones que usan la
tecnología de Web Semántica es el resultado de combinar las metodologías de
desarrollo de software normales con las metodologías para las aplicaciones de la
base de conocimiento adaptado para las particularidades de tecnologías de Web
Semánticas.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 18 Ontología en la Web Semántica
B.- Desarrollo de la Aplicación Web:
Arquitectura:
1.- Desde un punto de vista conceptual:
Es un modelo para construir sistemas de información, que se sustenta en la idea
de repartir el tratamiento de la información y los datos por todo el sistema
informático, permitiendo mejorar el rendimiento del sistema global de
información.
2.- En términos de arquitectura:
Los distintos aspectos que caracterizan a una aplicación (proceso,
almacenamiento, control y operaciones de entrada y salida de datos) en el
sentido más amplio, están situados en más de un computador, los cuales se
encuentran interconectados mediante una red de comunicaciones.
Modelo Cliente/Servidor
Es la tecnología que proporciona al usuario final el acceso transparente a las
aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de
trabajo y/o, a través de la organización, en múltiples plataformas. El modelo
soporta un medio ambiente distribuido en el cual los requerimientos de servicio
hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo
realizado por otros computadores llamados servidores.
Figura 8: Arquitectura Cliente - Servidor
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 19 Ontología en la Web Semántica
Tecnología: • Tecnología Cliente
Navegador web - Internet Explorer. - Navigator. - Mozila. - Nescape. - Konqueror.
Tecnología de Programación - Html. - Php. - Apple Java. - Presentaciones Macromedia. - JavaScript.
• Tecnología Servidor Servidor Web - XAMPP - Motores Java - Php
Tecnología de Programación - Php - CSS - ASP - MySQL - CGIs - JavaScript - Herramientas Macromedia (DreamWeaver, Flash)
C.- Análisis y Diseño del Sistema
1.- Estructura de la documentación
Esta estructurado en 5 partes:
1. Estado del arte: Aquí muestra toda la tecnología utilizada en el nivel
desarrollado de la aplicación
2. Planeamiento: El planeamiento es como nos muestra el proyecto, como
esta formado en su presentación.
3. Desarrollo - Nivel Contenido: Muestra la como esta el planteamiento y
el estado afrontado.
4. Desarrollo – Nivel Lógico: Se ocupa de la organización y procesamiento
de los datos presentes en el nivel inferior.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 20 Ontología en la Web Semántica
5. Desarrollo – Nivel Presentación: Se ocupa de la visualización del usuario
y los datos procesados.
Se explica detalladamente cada uno de los pasos realizados durante la elaboración de la estructura de la tesis: A. ESTADO DEL ARTE:
El desarrollo de la aplicación, se explicará el conocimiento de conceptos,
lenguajes y proyectos parecidos. El capítulo siguiente presenta la lista de los
elementos fundamentales utilizada en el desarrollo de la aplicación.
1.- WEB SEMÁNTICO
El web semántico y una perspectiva de evolución del mundo internet que
devolvería mucho más simple requerimientos de las informaciones, gracias a
una clasificación universal de los contenidos.
Cuando todos los sitios web sean semánticos, según los expertos, un motor
de búsqueda automático será capaz de planear por nosotros un viaje o un día
de citas, encontrando automáticamente todas las informaciones útiles sobre
los diferentes web que las contienen, combinándolas de modo inteligente. La
figura 2.1 muestra forma de infraestructura pensada por el semántica web,
dónde las informaciones son descentralizadas y esparcidas sobre muchos
servidores. Sucesivamente son descritos los lenguajes.
Figura 9: Web Semántico:
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 21 Ontología en la Web Semántica
Se ha utilizado para este tipo de framework.
• XML: describe la sintaxis común por la creación de documentos o
lenguajes.
• RDF: es un lenguaje basado sobre sintaxis xml que indica cómo describir
objetos sobre el web.
• OWL: es un lenguaje basado sobre sintaxis xml que permite de describir la
efectiva estructura de un determinado clase (persona o competencia,
anima, bien, etc.)
1.1. - XML: Extensible Markup Language A la base, XML provee un conjunto de reglas para crear diccionarios que
llevan estructura sea a documentos que a datos sobre el web. XML da
claras reglas sintácticas; xml schema representa el método para definir
diccionarios XML. XML es una sintaxis de superficie potente y flexible
para documentos estructurados, pero no impone ningún vínculo
semántico al sentido de tales documentos.
XML se basa en el concepto de metadatos, los que son informaciones
que describen un contenido.
El ejemplo.
<nombre>Danny Daniel Anton Asanza</nombre>
Muestra el dato que efectivamente se quiere publicar (Danny
Daniel Anton Asanza), añadiendo el meta dato "nombre" que describe
nuestro contenido. XML propone que la descripción de cada documento
sea un árbol con un sólo nudo inicial como enseñado en la figura 2.2.
XML da además el posibilidad de
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 22 Ontología en la Web Semántica
Figura 10: Ejemplo de XML
Añadir atributos a los metadatos, de modo que todavía describir mejor
los datos que queremos publicar.
Para añadir una semántica a los mismos elementos, es posible definir los
Namespace para identificar de manera no ambigua los metadatos y los
datos.
1.2. - RDF: RESOURCE DESCRIPTION FRAMEWORK RDF es un lenguaje basado sobre la sintaxis XML y muestra cómo
describir objetos en el Web. Además define el método para recoger de
modo uniforme la propiedad de un objeto e informarlo a otros, añadiendo
así la semántica a nuestros documentos. Este documento, sintácticamente
correcto, muestra como RDF describe cada relación por los tripletes
Recurso, propiedad y valor.
<?xml version="1.0"?> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns"
xmlns:a="http://www.supsi.ch/Antondanny/">
<rdf:Description about="http://www.supsi.ch/Antondanny/home.htm">
<a:author rdf:resource="http://www.supsi.ch/Antondanny"/>
</rdf:Description>
<rdf:Description about="http://www.supsi.ch/Antondanny/">
<a:name>Danny Daniel Anton Asanza</a:name>
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 23 Ontología en la Web Semántica
<a:email>danny_anton@hotmail.com</a:email>
<a:phone>0123456789</a:phone>
</rdf:Description>
</rdf:RDF>
1.3. - OWL: WEB ONTOLOGY LANGUAGE OWL es una extensión de RDF, el que no permite de expresar el
significado de las propiedades y de declarar relaciones entre los tipos.
Analizando, RDF permitió de expresar el concepto:
http://www.supsi.ch/dannyanton “tiene nombre” Danny Anton
En cambio el lenguaje OWL permite describir las relaciones entre los
classes (tipos). Por ejemplo http://www.supsi.ch/ dannyanton, es la
instancia de una clase "Persona" ( es su Namespace), por lo tanto OWL
describe la relación.
Persona – tiene – nombre.
OWL es caracterizado por la posibilidad de describir el verbo (en este
caso poseen) por de los atributos que describen el tipo de relación. Por
ejemplo el cardinalidad (las personas sólo poseen uno nombre) o el
transitividad entre objetos:
Sea X -> Y e Y -> Z entonces X ->Z ó Sea C -> Y e Y -> Z entonces X no es relacionado con Z
Este lenguaje permite la creación de reales ontologías que describen
dominós de relaciones entre recursos.
1.4.- IL FUTURO: DE MAQUINA REAL Y UNA MAQUINA IREAL.
RDF y OWL constituyen un sólido fundamento para aplicaciones de
Semantic Web, ha dicho a Tim Berners-Lee, Director del W3C e
inventor del World Wide Web.
La aprobación como W3C Recommendation, llega en un momento en
que emergen nuevos productos en áreas mucho diferentes como la
integración de empresa y soporte a las decisiones en campo médico. Este
no es muy sencillo de los primeros tiempos en que es nacido el Web,
puesto que las personas han visto cómo funcionó, han entendido de ello
la potencialidad. Ahora estamos entrando en aquella fase en que las
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 24 Ontología en la Web Semántica
personas pueden ver los principios del funcionamiento del Semántica
Web.
El actual mundo internet posee unas grandes cantidades de
informaciones desordenadas, los nuevos estándares permiten de crear
orden y devolver directamente las informaciones posibles de proceso de
software específicos.
En futuro si se podrá interrogar web services como interrogar base de
datos en SQL y gracias a los estándares propuestos por el W3C, las
búsquedas en el web podrán llevar a resultados más satisfactorios del
web actual. Imagínate un web interrogativo por preguntas: Cuál es la
posición de Piura?, cuál es aeropuerto mas cercano de Sullana?, como se
llama el padre de un amigo? Todas estas preguntas podrán ser procesadas
y por fin podrán llevar a las respuestas que queremos.
Imagínate de encontrar un namespace que muestra como describir los
perros, dato que cualquier otro halla creado un CSS o un XSL que
transformas el RDF de los perros bajo forma de página web, nosotros
podremos crear el documento rdf que describe nuestro perro y agregarlo
a una presentación hecha por cualquier otro.
Las ventajas enumeradas sobre el sitio del W3C son los siguientes:
• Aplicaciones por la creación de contenidos: los autores pueden
conectar metadatos, (sometido, creador, posición, lenguaje, copyright,
etc.) con los documentos, devolviendo las búsquedas de los nuevos
documentos enriquecidos.
• Instrumentos por la gestión de situado Web: grandes sitios Web
pueden ser administrados dinámicamente en acuerdo a categorías de
contenido personalizadas para los gestores del sitio.
• Software que se valen sea de RDF que de OWL: las organizaciones
pueden integrar aplicaciones de empresas, publicación y suscripciones
utilizando modelos flexibles.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 25 Ontología en la Web Semántica
• Rehúso de datos entre aplicaciones: los formados RDF y OWL son
estándares, no propietarios, permitiendo el rehúso de datos procedentes
de manantiales diferentes.
2.- LENGUAJES E FRAMEWORK
2.1 PHP
Php es un lenguaje de Scripting extenso para servidor, por la creación de
páginas web dinámicos. El actual release 5.0 introduce nuevas
extensiones:
• Nuevo motor Zend Engine II, con un modelo a objetos completamente
rescrito: solo, esta innovación hace cumplir adelante al lenguaje un
notable paso, sobre todo por aquellos que concierne al desarrollo de
aplicaciones Web-based, particularmente complejos. Por fin los
programadores Web tendrán a disposición, como en todos los lenguajes
a objetos, las tres p (métodos públicos, privadas y protegidos), junto a
interfaces que facilitan la construcción de framework complejos y
fácilmente gestionables.
• Una otro novedad de resaltar, es dada por la implementación interior de
SQLite, la librería que permite de escribir y administrar una base de
datos dentro de un único expediente, hace como exactamente Microsoft
Access: de este modo los proveedores de hosting podrán diferenciar
ulteriormente las mismas ofertas también dando a los pequeños sitios la
posibilidad de crear páginas Web dinámicas, sin utilizar por fuerza
software caros (también en términos de prestaciones) DBMS.
• Tercera y no la última grande novedad es dada por el reescritura del
código por el soporte a XML, es un formado a la base de muchas
aplicaciones Web-based. Gracias a la nueva sección XML.
Php es elegido por la nueva característica de administrar expediente XML,
de modo que poder juzgar el efectivo potencial de la aplicación con
respecto del conocido del entorno de desarrollo Cocoon.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 26 Ontología en la Web Semántica
2.2.- SVG : SCALABLE VECTOR GRAPHICS
SVG es un lenguaje de gráfica vectorial bidimensionales se basado en
XML desarrollado por el consorcio W3C y añadido el 15 de enero de
2003 a la versión 1.1. Recientemente han sido desarrolladas dos
ulteriores especificaciones de SVG, llamada SVG Mobile Profiles, la
idea expresamente por el mundo de los dispositivo mobiles (palm y
teléfonos móviles). Una característica fundamental de SVG, es de
integrar directamente el dibujo en la página web, por lo tanto de tratarla
como parte de su árbol XML; esta característica permite de pilotar por
lenguajes de scripting extenso del cliente (por ejemplo Javascript), los
elementos gráficos SVG directamente en la página HTML que integra el
SVG. Otra ventaja del lenguaje es la posibilidad de crear animaciones
por el empleo del lenguaje de animación SMIL (Synchronized
Multimedia Integration Language) también ello desarrollado por el W3C.
2.3.- CSS
CSS, hojas de estilo, sirven para administrar toda la compaginación de
un situado Web. Con los CSS es posible intervenir sobre el formateo del
texto y sobre la visualización de las páginas de modo simple y eficaz.
Este lenguaje es fundamental por el concepto de separación contenido-
lógica presentación, en efecto siempre se tiende mas a insertar el
contenido separado por la presentación.
2.4 XSL
Una hoja de estilo XSLT es un documento XML válido y bien formado.
Provee un mecanismo para transformar un documento XML en otro. El
lenguaje permite de añadir nuevos elementos a una estructura, crear
nuevos contenidos, filtrar y ordenar datos, generar documentos con
muchos grados de compatibilidad y usar complejas expresiones
condicionales. Una hoja de estilo permite de crear reglas a dependencia
de los tag XML, dado por el documento en entrada.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 27 Ontología en la Web Semántica
2.5 JAVA SCRIPT
Javascript es un lenguaje de scripting extenso cliente, que permite de
modificar elementos de una página web. Javascript permite una discreta
programación a objetos, de modo que crear objetos a runtime. Javascript
tiene un concepto de herencias primitivas (necesita crear un método para
construir el objeto y ejecutarlo), pero no permite la declaración de
métodos públicos, privados o protegidos.
3.- PROYECTOS PARECIDOS.
Proyectos considerados por el desarrollo del aplicativo.
3.1 FOAF PROJECT
Foaf project es uno de los primeros proyectos concretos orientado al web
semántico. FOAF es un namespace que permite de describir a una
persona en formado RDF y de declarar, por una misma semántica,
quiénes conocemos. Éste crea un complejo gráfico, visualizable
gráficamente por foafnaut (immagine 2.3.) Foafnaut vence al momento
que todos los nodos se muestran, y las relaciones se ponen difíciles para
entender. FoafNaut tecnológicamente contiene:
• SVG por la visualización gráfica.
• Javascript a objetos para crear los elementos y desplazarlos.
• No utiliza SMIL para crear animaciones.
• No utiliza un expediente HTML para incluir el expediente SVG.
• Utiliza php por la búsqueda de los amigos de una determinada
persona
Foaf-Project además propone páginas internet para poder crear el código
XML-RDF partiendo de un simple formulario Html.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 28 Ontología en la Web Semántica
Figura 11: Foaf Project
B. PLANEAMIENTO
En esta parte nos muestra los objetivos del proyecto y la arquitectura
utilizada para implementarlo.
Cabe mencionar que esta aplicación primero fue implementada para la
visualización de las “Personas y Competencias” de la SUPSI, para
posteriormente realizar una aplicación web en la cuál se puedan
visualizar diversas ontologías en esta aplicación.
1.- Objetivos:
• Definido un sistema para describir las relaciones de estos objetos.
• Implementando algoritmos por la búsqueda de relaciones.
• Desarrollado un entorno que permita la visualización del gráfico
relacional.
• Posibilidad de investigar la utilización de las diversas ontologías.
• Implementado un sistema para poder añadir diversas ontologías.
• Posibilidad de visualizar los detalles de un determinado recurso.
2.- Objetivos estructurales
• Posibilidad de extensión del entorno.
• Desarrollo orientado a la determinación.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 29 Ontología en la Web Semántica
• Desarrollo subdividido en elementos reutilizables
• Desarrollo visualización de navegadores web (Microsoft Explorer,
Mozilla, etc.).
• Empleo de estándares mundiales.
3.- Arquitectura de nivel
Este tipo de aplicación es concebible siguiendo el actual paradigma
de desarrollo web; separando en tres niveles del proyecto entero:
Contenido, Lógica y Presentación. Cada nivel es independiente y
comunica con el otro medio de los protocolos XML, definido por el
autor, permitiendo añadir determinados códigos reutilizables por
otros problemas parecidos.
La figura enseña la arquitectura global de nuestro proyecto.
Figura 12: Arquitectura Global:
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 30 Ontología en la Web Semántica
• El nivel Contenido, es orientado al web semántico y describe las
personas, los grupos y las competencias (Personas y competencias);
bienes culturales, animales, etc; en formado RDF y su relativa
ontología (de acuerdo a que se seleccione).
• El nivel Lógico, comprende las funciones necesarias por la gestión de
las varias recursos y prepara un stream XML con la descripción de la
lista de relaciones de una fecha recurso.
• El nivel de Presentación, se apoya completamente en el nivel lógico,
y se preocupa de visualizar gráficamente un stream XML genérico
que describe las relaciones.
C. Desarrollo - Nivel Contenido
En la parte siguiente muestra la infraestructura necesaria para
expresar los recursos a nivel de datos.
1.- Introducción
El nivel de contenido es orientado al web semántico y tiene que
definir los namespace por los elementos de las diferentes Ontologías
como: Personas, Grupos y Competencias; Animal; Bienes Culturales;
etc. Se define además una ontología que explica cómo informar estos
elementos entre de ellos, figura 1.1
Las tecnologías utilizadas en este nivel son:
• RDF: Lenguaje para expresar la semántica de objetos en el web
• XML: Lenguaje por la sintaxis común a muchos lenguajes
• OWL: la ontología que describe las relaciones
Se muestra como ejemplo a 3 de las ontologías, su Nivel de
Contenido:
Persona - Competencias – Grupos / Personas – Cursos /
Cursos – Contenidos- objetos
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 31 Ontología en la Web Semántica
Figura 13: Nivel de Contenido
2.- Clase persona: reutilización del namespace FOAF.
Aquí nos muestra como la web semántica, ayuda sobre la
reutilización de componentes ya desarrollada por otros. En efecto por
la descripción de las personas se reutiliza el namespace FOAF, de
modo que describir de modo estándar a las personas a nivel mundial.
Cada uno puede describirle mismo utilizando los tag desarrollados en
el namespace FOAF(http://xmlns.com/foaf/0.1 /). Por el proyecto
hemos puesto el campo obligatorio Name, de modo que tener que un
identificativo del objeto mostrar gráficamente en la presentación.
3.- La ontología OWL: La relación a través de objetos.
Ahora que hemos definido los recursos que nuestro programa deberá
administrar, tiene que crear el diccionario que permite de informar
tales recursos, por ejemplo una persona conoce una competencia.
Este diccionario es definir en lenguaje OWL, el código que permite
de expresar estos conceptos, por ejemplo tomamos Person y
Competence, dónde Person tiene el propriedad Knows que le permite
de relacionarse a una competencia. Viceversa una competencia es
relacionada a Person por isKnowBy, así sucesivamente en cada una
de las ontologías se detalla esto. OWL permite de expresar el
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 32 Ontología en la Web Semántica
concepto de inversión de un propiedad en efecto si una persona
también conoce una competencia él sobreentiende la condición
inversa. En la ontología si esta excluida los URIs, de un icono por
cada clase, de modo que en la capa de presentación se pueda
representar el recurso con aquella imagen.
Ahora gracias a la definición de la ontología podríamos escribir en
uno de los recursos administrados la unión que quisimos expresar.
Por ejemplo el documento:
<?xml version="1.0" standalone="yes" ?> <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ont="http://www.supsi.ch/PeC/ontology.owl"> <foaf:Person> <foaf:name>Danny Daniel Anton Asanza</foaf:name> <ont:knows rdf:resource= http://dannyanton/Antondanny/dato.rdf level="6"/> <ont:knows rdf:resource= "http:// dannyanton/Antondanny/valores.rdf" level="5"/> </foaf:Person> </rdf:RDF> La persona Danny Daniel Antón Asanza, describe con conocimiento
de las competencias datos y valores, dónde su descripción es
presentado con su respectivo URI. Si agregado también un parámetro
de nivel que muestra de qué manera se conoce el recurso, éste crea el
posibilidad por la visualización de gráficos pesados.
4.- Generar los documentos RDF
Para facilitar la creación de código XML-RDF a usuarios de bases
sobre el web semántico, se han proyectado algunas páginas HTML.
Las páginas tendrán que dar la posibilidad de llenar un formulario con
los datos relativos al recurso que se quiere luego sucesivamente
expresar por traducirlo en lenguaje RDF.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 33 Ontología en la Web Semántica
5.- Generar documentos Foaf
La página utiliza la compaginación definida por el CSS. Esta página
estática viene completamente rendición dinámica gracias al empleo de
Javascript lado cliente.
En la figura siguiente, se permite la compilación del cuestionario:
Después del llenado de los varios campos, la página enseña el código
XML
Haciendo clic sobre el botón Generar, llamara a la función generate (),
presente en el file / JS/generator.js, y después de haber vadeado la
presencia de FirstName y LastName crea sencillamente texto XML
concatenando. Un particularidad de la página es la capacidad de añadir
nuevos apartados de texto, en caso no se tuviera bastante a disposición
espacio, pero puede presionar añadir.
Estos algoritmos que trabajan sobre DHTML y árboles DOM es
implementado en las funciones:
• createCompetenceFields(): Se preocupa de generar dinámicamente
los primeros tres campos de estándar.
• addCompetenceFields (): Vuelta a llamar cada vez que se suma un
nuevo apartado de texto.
• createGroupFields (): Cómo createCompetenceFields (), pero relativo
a los grupos.
• addGroupFields (): cómo addCompetenceFileds (), pero relativo a los
grupos.
D. Desarrollo – Nivel Lógico
1.- Introducción.
La capa de lógica permite de
catalogar luego
sucesivamente los recursos
para poder ser interrogado
por el nivel de presentación,
el que se encarga de
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 34 Ontología en la Web Semántica
visualizar el grafo (figura D.1). El proyecto es orientado a la
generación, por lo tanto el código tiene que basarse en la ontología del
nivel de contenido, de modo que quienquiera quisiera cambiar los
recursos y las ontologías no tengan que modificar los demás niveles y
la aplicación pueda ser normalmente ejecutada. En un futuro cuando se
tengan a disposición lenguajes por la interrogación del web semántico,
él podrá sustituir esta capa interrogando webservices. Los instrumentos
utilizados en esta capa son:
2.- Necesidad de informaciones locales redundantes.
Hay dos tipos de redundancia locales necesarios por la gestión de los
recursos. La primera concierne la lista completa de todos los recursos
conocidos en nuestro sistema. Esta lista tiene que contener los URIs del
recurso, tipo de recurso y por fin un identificativo que es utilizado por
la capa de presentación asociable al icono. El identificativo permite de
no recobrar el documento RDF durante la navegación del gráfico, y por
lo tanto aventajarse de una navegación mas fluido con respecto de
foafnavigator. el archivo es /Source/list.rdf '.
El segundo entidad redundante es un documento XML que describe
completamente el grafo de relaciones, en modo de poder navegar en el
grafo sin acceder directamente a los recursos RDF. Para describir el
grafo necesita tener l pista de los tag descritos en la ontología estudiada
en la capa de contenido. Este documento es fundamental por la lógica,
en cuánto el semántica web tiene como concepto base de no insertar
todas las propiedades de un recurso en el mismo documento. En efecto
si se piensa que en un recurso FOAF sea descrito la unión personaY
conoce recursoX, en recursoX no es presente el enlace inverso
recursoX, es conocida por personaY, por lo tanto para poder descubrir
paulatinamente todas las uniones que son necesidad de mantener sobre
el servidor la estructura entera del gráfico. Obviamente las
descripciones e informaciones de los varios recursos no son copiadas
sobre el servidor, porque podría ser modificada por la persona que
administra el documento.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 35 Ontología en la Web Semántica
He aquí una deducción del documento que agrega todas estas
informaciones:
3.- Descripción de la ontología
La capa de lógica tiene que ser a conocimiento de la ontología definida
en el nivel contenido; el código. / php/ontology.php, construido a
través del código OWL, la lista de todas las clases tratadas y todas las
relaciones que se quieren visualizar.
El stream XMl resultante tendrá también que describir las relaciones
inversas. He aquí el documento procesado:
<?xml version="1.0"?>
<ontology>
<resource namespace="http://xmlns.com/foaf/0.1/"
name="Person" icon="../icons/person.gif"/>
<resource
namespace="http://www.supsi.ch/PeC/competence/0.1/"
name="Competence" icon="../icons/competence.gif"/>
<resource namespace="http://www.supsi.ch/PeC/group/0.1/"
name="Group" icon="../icons/group.gif"/>
<relation ID="knows" inverseOf="isKnowBy"/>
<relation ID="isKnowBy" inverseOf="knows"/>
<relation ID="include" inverseOf="isMember"/>
<relation ID="isMemberOf" inverseOf="include"/>
</ontology>
Si se quieren agregar mas ontologías es posible añadir este código sin
tocar nada en el resto del proyecto. Una interesante añadidura a este
algoritmo podría ser la creación de código que encuentran en la red,
nuevas ontologías y se agregan a aquellos ya conocidos y la que se
realicen, no preocupándose de la visualización porque ya esta
desarrollados.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 36 Ontología en la Web Semántica
4.- Encontrar la relación del nodo
La capa de presentación se apoya al nivel lógico interrogándolo sobre
las relaciones de los recursos.
El problema no puede ser solucionado buscando el nodo que describe
las relaciones de unos determinados URI, porque pueden ser juntadas
nuevas relaciones descritas en otros recursos. Por ejemplo, detallemos
la primera ontología de personas y competencias, en efecto las
relaciones de una competencia no se encuentran todo en el elemento
competencia, bueno necesita interactuar sobre todas las personas y
grupos y controlar quién conoce aquel recurso. Si por ejemplo
encontramos que una persona conoce una determinada competencia
tendremos que interrogar la ontología para saber cómo se llama la
relación inversa, la competencia es conocida por una persona.
El lenguaje genérico:
findlinks.php (Parámetros de entrada $URI, $type)
- se carga (ontology.php, link.rdf)
- repite sobre todos los nodos de link.rdf
- si $URI es igual al nodo del nodo del primer nivel
- agrega la relación del segundo nivel
- si $URI es igual al nodo del nodo de un segundo nivel
- agrega la relación inversa del primer nivel
Este código produce un stream XML que describe las relaciones. He
aquí un ejemplo del protocolo utilizado dónde el tag Father contiene la
descripción de los URI que detallan por los tag Child, que
corresponden a todos los recursos informados a ello:
<?xml version="1.0"?>
<Father URI="http://supsi.ch/Rdf-Group/LMIT.rdf"
type="http://www.supsi.ch/PeC/group/0.1/">
<child
URI="http://supsi.ch/Competence/electrodigital.rdf"
relation="knows" level="0"/>
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 37 Ontología en la Web Semántica
<child URI="http://supsi.ch/elaboraseñal.rdf"
relation="knows" level="0"/>
</Father>
Este stream será capturado por la capa de presentación visualizándolo
gráficamente.
E. Desarrollo – Nivel Presentación
A continuación se muestra el planeamiento y desarrollo de la visualización
de los contenidos, describiendo cómo le es ofrecida al usuario la búsqueda
de elementos o relaciones en las diferente ontologías. Aquí se muestra la
aplicación final, describiendo sucesivamente los detalles implementados.
1.- Introducción
La capa de presentación se basa completamente en el nivel lógico y se
preocupa de visualizar un gráfico a estrella sobre página web. Las
tecnologías utilizadas por esta capa son:
• XML y DOM: sintaxis común por la manipulación de datos.
• Javascript a objetos: usado para trabajar sobre recursos dinámicos.
• XSL: usado para añadir estilo a los rdf.
• SVG: para visualizar imágenes vectoriales.
• CSS: separar el estilo de los contenidos.
• XHTML: lenguaje por las páginas web en sintaxis xml.
• DHTML: empleo de elementos html dinámicos.
Figura 15: Nivel de Presentación
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 38 Ontología en la Web Semántica
La página tiene que satisfacer la siguiente funcionalidad del usuario.
1. Visualizar el árbol relacional de un recurso.
2. Visualizar los detalles de un recurso.
3. Notificar al sistema a un nuevo URI del recurso.
4. Obtener una lista de los recursos conocidos y filtrarle por una búsqueda.
5. Enlazarse a generadores de nuevos documentos como por ejemplo:
Foaf, Competence y Group (Esto es de acuerdo a la ontología que se
esta enlazando).
2.- La aplicación final
Para orientar mejor al lector en la lectura de la documentación, empezamos
mostrando la aplicación final en las siguientes imágenes:
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 39 Ontología en la Web Semántica
E.2.- Aplicación final (Figura 16)
3.- Estructura de la página - CSS
La página entera (en la documentación la llamaremos página principal),
omitiendo el encabezamiento, se divide en dos partes. La parte izquierda,
en html, es dedicada a la funcionalidad 2, 3, 4, 5 descrito este punto que
tratemos (lo llamaremos parte paneles).
Mientras la parte derecha, el elemento gráfico, contiene el gráfico en SVG
responsable de funcionalidad (esta parte la llamaremos navegador). Para
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 40 Ontología en la Web Semántica
estructurar la página es utilizado el lenguaje CSS. El planeamiento gráfico
ha tenido en cuenta los siguientes objetivos:
• Extensibilidad.
• Independencia de la resolución.
• Posibilidad de modificar la dimensión y posición de las partes sólo
cambiando el código CSS.
En la imagen E.3, se visualiza la compaginación y nombres exactos
utilizados por el CSS: El objeto panel es de dimensión fija, contrariamente
el elemento grafica (navegador), se acostumbra para llenar la pantalla
entera.
Figura 17: Estructura del Panel (CSS)
4.- La pagina HTML principal
La página HTML principal debe contener todos los objetos descritos por
CSS, figura E.3, añadiendo los contenidos:
• El encabezamiento.
• El código HTML de cada panel.
• Él inclusión del expediente SVG que permite la navegación.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 41 Ontología en la Web Semántica
5.- El navegador, La visualización del grafico en SVG
Por la representación del stream XML preparado por la capa lógico, es
utilizado el lenguaje SVG con agregado del código javascript a objetos. La
figura E.4 se muestra el resultado conseguido y sucesivamente es
documentado el código a través de diagrama de las clases y algoritmos. El
código javascript se distingue en 3 partes fundamentales:
• La función de inicialización, de la gestión de las fichas y las interfaces
hacia la página principal.
• La clase Object: trata la singular propiedad de los recursos y su dibujo.
• La clase Director: Administra el conjunto de los recursos a visualizar,
definiendo su posición en el gráfico.
Figura
18: Grafo
Señalado.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 42 Ontología en la Web Semántica
5.1.- La clase objeto en java script
El objeto Object se ocupa de tener las informaciones de un determinado
recurso (icono, texto identificativo, URI) , y de las componentes gráficas
del diseño. Aquí la estructura del objeto es visualizada gráficamente a la
imagen E.5: Por javascript se crea el árbol DOM del dibujo SVG a
visualizar, como muestra el diseño. SVG también permite la posibilidad de
añadir sombras sobre un determinado objeto y efectos gráficos a objetos.
Los filtros creados son shadow por efectos sombra y MyFilter por crear un
efecto 3D con resplandor (Estilo Agua del Apple). El objeto gráfico circulo
puede asumir los semblantes de una flecha, si la relación no posee un
nivel, o bien de un círculo con dentro del valor del nivel de una
determinada relación. SVG es muy carente en la gestión del texto, en
efecto no existe la posibilidad de ir al jefe automáticamente, por lo tanto
para visualizar el identificador del recurso hace falta contar manualmente
las palabras y asignarla a textblock1 y a textblock2.
Figura 19: La Clase Object
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 43 Ontología en la Web Semántica
for( i = 0; i < testoarray.length; i++){ if((text1+" " + testoarray[i]).length < 21) text1 = text1+" " + testoarray[i]; else break; } if(i != testoarray.length){
for(var j = i; j < testoarray.length; j++){ if((text2+" " + testoarray[j]).length < 21) text2 = text2+" " + testoarray[j]; else break;
} }
Las funciones nos permiten de manipular gráficamente el objeto por las
siguientes llamadas, que detallamos a continuación:
• draw (angle, radius): diseña el recurso, creando los varios elementos
gráficos, en un punto relativo a la posición del objeto director.
• moveObject (URI, angle, finalradius, actualradius, implode): se
ocupa de los desplazamientos animados de un objeto. Esta función no
puede ser miembro, en cuánto es imposible pasar referimientos entre
funciones. El lenguaje SMIL no ofrece todavía la posibilidad de pilotar
las animaciones por acontecimientos javascript, por lo tanto por las
animaciones hemos utilizado una llamada recursiva temporizada
administrada por el browser que posiciona paso el desplazamiento.
• imgcenter (): visualiza el engrandecimiento del icono y el texto del
recurso, éste viene utilizado por la imagen central del gráfico.
• detail (): esta función interroga la capa de lógica, por la página php
descrito en el anteriormente, y crea un array children sobre los recursos
relacionados. La llamada detail () se apoya en la función asíncrono
detailObject (), ella que es llamada cuando la página php viene
efectivamente cargado. La imposibilidad de dar parámetros a la función
asíncrona y a la pérdida del indicador ha impuesto la creación de una
variable global temporal para contener el indicador.
• mouseDown(URI): la función es llamada por el elemento circleover al
momento que captura un clic sobre de ello. La función informa el objeto
director de mostrar el gráfico y visualizar el nuevo gráfico relativo al
parámetro URI.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 44 Ontología en la Web Semántica
• mouseOver(URI): vuelto a llamar por el elemento circleover cuando el
mouse esta sobre una fecha recurso. Esta exhibición el tipo de relación
que tiene el desarrollo, e impuesto de los formateo particulares a líneas y
texto.
• mouseOut(URI): idéntico a mouseOver, pero vuelve a llamar, cuando
el mouse sale del área del recurso. Remueve el formateo y esconde la
relación.
5.2.- Clase Director in JavaScript
La clase director se ocupa de administrar el conjunto de los recursos
visualizados
organizando la
implosión y el
estallido del
nodo que se
quiere visualizar.
La ruta gráfica es
administrada en
coordenadas
polares de modo
que simplificar
los cálculos. La
descripción
completa del
objeto es descrita
en la imagen E.6.
Enseñamos aquí
en seguida las
llamadas a los
procedimientos
cuando es
solicitado de visualizar un dato URI.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 45 Ontología en la Web Semántica
• implode (URI): se ocupa de informar los objetos Object presentes en la
lista children [ ], de ejecutar la animación de imposición (desplazarse
hacia el centro). Por el parámetro booleano implosion, presente en el
método Object.move, informa el recurso de volver a llamar la función
Director.implodesync () cuando ha acabado la animación.
• implodesync: la función cuenta todos los recursos que han acabado la
animación, y cuando todos los objetos han acabado la implosión vuelve
a llamar Director.implodepart2 ().
• implodepart2: se ocupa de borrar gráficamente los objetos y limpiar el
array children.
• explode (uri): la función diseña el object de aquellos URI, declarando
lo como father y volviendo a llamar su método imagecentre (). En
seguida vuelve a llamar el método detail () del recurso, ella que pregunta
a la capa lógica las relaciones de este recurso. Cuándo detail () ha
acabado de cargar la lista de los sobre los hijos Director.explode2 vuelve
a llamar ().
• explode2: todos los recursos relacionados con father son diseñados y
visualizados por la animación. Esta función calcula los diferentes
ángulos de cada objeto.
Una particularidad del gráfico es la capacidad de explotar todo el espacio a
su disposición. En efecto si la rueda hubiera sido un círculo perfecto
hubiera añadido derroches laterales. Por este motivo es agregado un
parámetro "param" que es la relación entre el ancho y la altura del objeto
SVG. Ahora él puede transformar el círculo en un elisse, multiplicando el
parámetro con las coordenadas horizontales después de la conversión
polar-cartesiana. Por ejemplo:
x = Math.round(Math.cos(angle) * (radius*ruota.param)); y = Math.round(Math.sin(angle) * (radius));
Este sistema funciona únicamente porque se utilizan coordenadas locales
con respecto del centro.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 46 Ontología en la Web Semántica
5.3. – Funciones y variables globales
La visualización del gráfico, para ser sincronizado con el resto del
documento HTML, tiene que ser inicializado cargando el array de los
indicadores a Object, con la esta lista de los recursos, es conocida por la
capa lógica. Debe ser cargada la ontología que se quiere visualizar para
definir el dominio de búsqueda. Están presentes también 3 fichas para
poder pasar en las partes HTML de búsqueda, visualización detallas y
añadidura de los nuevos desarrollos.
Variables globales:
• routa: indicador o puntero al Director.
• objects: array de indicadores a object. Es catalogado por los URI del
objeto que apunta.
Funciones globales:
• btnsearch (): función llamada cuando es presionada la ventana
Búsqueda. El código avisa la página HTML de pasar a la visualización
del panel de búsqueda, y cambia el color de la ficha activa.
• btndetail (): función parecida a btnsearch, pero es relativa a la ventana
detalle.
• btnupdate (): función parecida a btnupdate, pero es relativa a la
ventana de añadidura de nuevos URI.
• init (): La función instancia, un objeto director y lo asigna a la variable
global ruota. Luego vuelve a llamar la función asíncrono
loadOntologySvg ().
• loadOntologySvg (): la función llama loadOntology (), presente en la
página principal. Este carga en un árbol DOM la ontología que se quiere
visualizar. Al término vuelve a llamar la función asíncrono loadObjects.
• loadObjects: esta función carga el expediente lógico. / source/list.rdf y
crea el array de instancias de object. Al término es hecho un nodo al azar
entre los objetos.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 47 Ontología en la Web Semántica
5.4.- Los paneles de búsqueda, añadidura y detalle
Los paneles de búsqueda, añadidura y detalle
La falta de gestión del texto y las listas en SVG, han impuesto de
administrar algunas partes en HTML. Se trata de las siguientes partes:
• Un panel por la búsqueda de los recursos de las diferentes ontologías
como por ejemplo: personas, grupos y competencias (Personas y
Competencias)
• Un panel para visualizar el detalle del nodo visualizado al centro del
navegador.
• Un panel para insertar los URI de un nuevo recurso o para notificar que
un determinado RDF tiene cambiado los contenidos.
La página principal tiene que poder administrar el paso entre los paneles.
El algoritmo detallado para esta funcionalidad es sintetizado en la figura
E.7.
Figura 21:
Algoritmo
detallado.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 48 Ontología en la Web Semántica
• btn search, btn detail y btn update: se preocupan de adaptar
gráficamente las ventanas, de modo que al devolver un efecto 3D sobre
la ventana activa.
• showsearch (), showdetail y showupdate: en cambio, por del código
DHTML, esconde los diferentes paneles por la propiedad CSS
display:none. No necesita utilizar la propiedad visibility:hidden, porque
no esconde efectivamente un objeto, pero deja el espacio necesario sin
diseñarlo.
Además es añadida el posibilidad de esconder totalmente los paneles de
modo de dejar todo el espacio a disposición por el gráfico. Por el
propiedad CSS display:none, es posible esconder totalmente los paneles y
veremos extenderse al navegador gracias a los potencialidad de CSS.
5.4.1.- Panel de búsqueda
El panel de búsqueda muestra al usuario el dominio de clases administrado
por todas las clases que conforman las ontologías como por ejemplo:
sistema, grupos, personas y competencias, éstas son cargados directamente
interrogando la ontología lista en la función loadOntologySvg, imagen E.8.
De modo que también hacer genérico la búsqueda de nuevas clases
definidas en futuro. El panel también permite un campo de texto por la
búsqueda manual de un recurso, éste filtra los objetos de la clase
seleccionada con base en el identificador. Por fin al seleccionar un recurso
y hacer clic sobre el Expand, en la cual informa el navegador de imponer el
actual gráfico y el recurso selecto a estallar. Las funciones Javascript por la
gestión de este panel se encuentra en el expediente / JS/index.:
• loadlist () Prepara un array global por todos los recursos que se quieren
visualizar en la búsqueda y los ordena por Identificador.
• loadOntology () Carga la ontología de la capa de lógica y añade los
radioButton por cada clase presente (DHTML). La característica
particular de la función es la capacidad de insertar texto HTML en un
dato punto del árbol DOM de la página principal a tiempo real. Este
puede ser hecho definiendo un tag !div id=qui»¡/div?, en el html dónde
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 49 Ontología en la Web Semántica
él vera insertar texto, mientras en el código javascript dónde crearemos
el código que insertar escribiremos:
divbox = document.getElementById("qui"); divel = document.createElement("div"); divbox.appendChild(divel).innerHTML = "<BR><H1> Danny Anton </H1>
Figura 22: Panel de búsqueda.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 50 Ontología en la Web Semántica
Aquí mostramos a continuación el browser que agrega el texto formateado
en el sitio definido.
• refreshlist () Pone al día la lista de los recursos sólo filtrando los
elementos de la clase selecta y dejando solo los objetos que inician con
el texto escrito en el campo de búsqueda.
• addOption () Función de bajo nivel para insertar un valor en un listbox
HTML.
• getSelectedRadio () Encuentra cuál clase que es elegida por la
visualización de los resultados.
• getSelectedRadioValue () Vuelve los uris de la clase elegidos junto a
getSelectedRadio ().
5.4.2.- El Panel detalle
Este panel permite de
visualizar el contenido
del verdadero RDF del
recurso, descargándolo
de internet y
asociándolo por una
hoja de estilo XSL. La
hoja de estilo permite
de añadir un formateo
particular a cada
recurso, porque
obviamente no todos
los recursos contienen
los mismas
propiedades. Una
imagen del resultado
final es presente en la
figura E.9
Figura 23: Panel de Detalle.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 51 Ontología en la Web Semántica
El panel de detalle, se viene agregado a un evento que se llama
Object.detail (). Object.detail () carga por la función show detail una
página php (/ php/detail.php) que procesa el archivo RDF buscado con la
hoja de estilo XSL (/ xsl/detail.xsl), y sucesivamente por dhtml es añadida
dinámicamente sobre el panel.
El algoritmo que muestra el flujo de las informaciones y las llamadas se
encuentra sintetizado en la imagen E.10.
Figura 24: Algoritmo de flujo de Información.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 52 Ontología en la Web Semántica
D.- Herramientas Utilizadas
Herramientas de creación de ontologías (Editores de Ontologías)
Son las herramientas que permiten la codificación de una determinada
ontología en base a un determinado lenguaje. Se estudiará este tipo de
herramientas ya que permiten definir la estructura en base a la cual se
clasificará la información realizada a través de anotaciones [19].
Mencionamos una lista de herramientas que nos permiten trabajar con
ontologías que son:
Apollo: Aplicación amigable de modelado de conocimiento. El modelado
está basado en torno a los principios básicos tales como clases, instancias,
funciones, relaciones, etc. La interface de usuario tiene una arquitectura
abierta y está escrito en lenguaje de programación JAVA.
LinkFactory: Se trata de una herramienta utilizada para construir completos
sistemas de terminología corporativa capaz de extraer valor significativo de
gran cantidad de datos no estructurados almacenados en bases de datos de
contenido corporativo.
OILEd: Es un editor de ontologías que permite al usuario construir
ontologías utilizando DAML+OIL
OntoEdit Free and Professional versions: Permite crear y gestionar
ontologías. Confía en los estándares del W3C y ofrece muchas interfaces
exportables a la mayor parte de lenguajes de representación de ontologías.
Esta herramienta permite crear, navegar y modificar ontologías.
Ontolingua Server: Provee de un entorno de colaboración distribuido para
navegar, crear, editar, modificar y utilizar ontologías.
OntoSaurus: Es un navegador web para las bases de conocimiento de
LOOM. Proporciona una interface gráfica hyper enlazada hacia varias de las
bases de conocimiento.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 53 Ontología en la Web Semántica
OpenKnoME: Es la piedra angular de la aplicación utilizada por los
motores de conocimiento topThing. Es un sistema de gestión del
conocimiento y un motor de ontologías. Desde el 2001 el código fuente está
abierto para la comunidad académica y la clínica sin ánimo de lucro.
Protégé-2000: Editor de ontologías y editor de bases de conocimiento. Es
también de código abierto, herramienta JAVA que proporciona una
arquitectura extensible para la creación de aplicaciones de bases de
conocimiento customizadas.
SymOntoX: Es un software que almacena y gestiona un dominio de
ontología.
WebODE: Herramienta para modelar el conocimiento utilizando ontologías.
Facilita la máxima flexibilidad e interoperabilidad con otras aplicaciones de
negocios necesarias para las empresas de hoy en día.
WebOnto: JAVA applet con un servidor web customizado que permite a los
usuarios navegar y editar modelos de conocimiento sobre la web.
Después de un estudio de las diferentes herramientas se ha seleccionado la
utilización de Protégé [20], porque es una herramienta es software libre y
tiene una arquitectura extensible, tiene una interfaz muy agradable y nos
permite trabajar.
1.- Herramientas de desarrollo de Ontologías
Protégé
Protégé es una herramienta integrada de software para desarrollar sistemas
basados en el conocimiento.
La utilización de los usos de desarrollados con Protégé, se pueden emplear
para la solución de problemas y la toma de decisiones en un dominio
particular.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 54 Ontología en la Web Semántica
Figura 25: Ventana Principal del Protégé Esta herramienta facilita trabajar simultáneamente con las clases y los casos.
Protegé es un software libre que lo podemos utilizar para el desarrollo de
nuestras necesidades y a la vez podemos agregarle librerías que nos facilitan
diversos autores.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 55 Ontología en la Web Semántica
En Protegé nos permite:
• Entrar en casos específicos de datos y de la creación de una base de
conocimiento.
• Es una plataforma en la que se puede ampliar con gráficos, tablas,
diagramas y componentes de animación, que nos permite acceder a otras
aplicaciones ensambladas en sistemas basados en el conocimiento.
• Modelar una ontología de las clases que describen un tema particular.
• La ejecución de usos, para la solución de problemas y toma de decisiones
en un dominio particular.
• Introducción de datos.
• Creación de una herramienta de adquisición de conocimiento para recoger
conocimiento.
• Reutilización las ontologías para su mejor funcionamiento.
• Hacer seguimiento de las diferentes ontologías, a través de sus asistentes.
• Construcción de una ontología inicial de clases y instancias.
• Su interfaz es mas sencillo y no necesita la utilización de un lenguaje
específico.
• La construcción de un determinado dominio ontológico.
• Las Ontologías (OWL) son Open Source.
• Muchos Plugins que son asequibles para la visualización y contiene una
gran variedad de Plug-ins.
Proyecto de Web Semántica
Ing. Danny Daniel Antón Asanza 56 Ontología en la Web Semántica
La ontología define el sistema de conceptos y sus relaciones. Esta
herramienta de adquisición del conocimiento se diseña para ser específica
del dominio, permitiendo a expertos del dominio incorporar fácil y
naturalmente su conocimiento del área
Protegé se diseña para dirigir a los expertos del dominio en el proceso de
desarrollo del sistema y para permitir que estos reutilicen las ontologías del
dominio para el mantenimiento y desarrollo del programa.
2.2.- Marco Conceptual
1. Evaluación Docente, “Una actividad a través de la cual, y en función de
unos criterios preestablecidos, podemos obtener informaciones adecuadas
sobre el funcionamiento de un proceso o de una persona y, a partir de las
mismas, emitir un juicio sobre el desarrollo de la situación y adoptar un
conjunto de decisiones relativas al mismo.”, De ketele(1984).
2. La Metodología en las Ontologías, “Las ontologías son colecciones de
enunciados redactados en un lenguaje, que define las relaciones entre
conceptos y especifica reglas lógicas para razonar con ellos. Los ordenadores
"comprenderán" el significado de los datos semánticos de una página de la
red siguiendo vínculos con ontologías especificadas”, Lozano (2001).
3. Orientado a Objetos, “El diseño orientado a objetos y la programación
orientada a objetos representan un cambio de perspectiva con respecto a la
programación estándar por procedimientos. En lugar de pensar en el flujo del
programa desde la primera hasta la última línea de código, se debe pensar en
la creación de objetos: componentes independientes de una aplicación que
tienen funcionalidad privada además de la funcionalidad que se puede
exponer al usuario.”, Microsoft (2005).