2.- web semántica y ontología la world wide web (del ... · cual de los lenguajes es apropiado a...

56
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

Upload: others

Post on 21-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 2: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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:

Page 3: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 4: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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..."

Page 5: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 6: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 7: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 8: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 9: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 10: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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 [email protected] 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

Page 11: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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>[email protected]</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.

Page 12: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 13: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 14: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 15: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 16: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 17: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 18: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 19: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 20: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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:

Page 21: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 22: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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>

Page 23: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

Proyecto de Web Semántica

Ing. Danny Daniel Antón Asanza 23 Ontología en la Web Semántica

<a:email>[email protected]</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

Page 24: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 25: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 26: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 27: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 28: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 29: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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:

Page 30: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 31: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 32: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver 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.

Page 33: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 34: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 35: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 36: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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"/>

Page 37: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 38: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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:

Page 39: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 40: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 41: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 42: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 43: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

Proyecto de Web Semántica

Ing. Danny Daniel Antón Asanza 43 Ontología en la Web Semántica

for( i = 0; i &lt; testoarray.length; i++){ if((text1+" " + testoarray[i]).length &lt; 21) text1 = text1+" " + testoarray[i]; else break; } if(i != testoarray.length){

for(var j = i; j &lt; testoarray.length; j++){ if((text2+" " + testoarray[j]).length &lt; 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.

Page 44: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 45: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 46: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 47: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 48: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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

Page 49: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 50: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 51: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 52: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 53: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 54: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 55: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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.

Page 56: 2.- Web Semántica y Ontología La World Wide Web (del ... · cual de los lenguajes es apropiado a la hora de implementar una aplicación ontológica pues es difícil resolver el

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).