tema3,La Web Semántica

Page 1

La Web Semántica [3.1] ¿Cómo estudiar este tema? [3.2] XML. Documentos web estructurados [3.3] RDF. Descripción de recursos web [3.4] OWL. Lenguaje de definición de ontologías para la

TEMA

web


Web semántica y tecnologías 2.0

Esquema

Lenguajes Web Semántica

XML

TEMA 3 – Esquema

RDF/RDFS

OWL


Web semántica y tecnologías 2.0

Ideas clave 3.1. ¿Cómo estudiar este tema? En este tema se presentan algunos de los lenguajes principales para la descripción de información en la web semántica. Siendo éste su objetivo, es necesario que estos lenguajes presenten los constructores necesarios para permitir una sencilla interpretación por parte de un agente software. En primer lugar introducimos el lenguaje XML. XML es en realidad un metalenguaje de marcado. Es decir un lenguaje de marcado que puede ser utilizado por el usuario para construir sus propios lenguajes de marcado mediante la identificación de las etiquetas que utilizarán y las restricciones o condiciones que deben cumplir aquellas instancias conformes al lenguaje definido. Es importante comprender que, si bien tanto XML como HTML, son lenguajes de marcado, existe una diferencia muy clara.

HTML

Es un lenguaje orientado desde sus orígenes a definir cómo se debe presentar un documento en un navegador web. Sus etiquetas definen distintas alternativas de presentación (e.g. negrita, cursiva, título 1, etc.).

XML Se nos permite estructurar los documentos identificando la semántica de cada una de las partes del documento que es etiquetada. No permite, sin embargo, aportarle semántica. Si bien, podemos inferir el significado de algunos campos a partir de los nombres de las etiquetas utilizadas, esto es posible para los humanos pero no para una computadora.

RDF (Resource Description Framework) permite aportar semántica a los datos. Veremos cómo con RDF y RDF Schema (RDFS) es posible que un agente software realice razonamientos que le permitan aprender y deducir nueva información que no aparece explícitamente. En particular RDFS nos facilitará la definición de vocabularios, especificar qué propiedades se pueden aplicar a qué tipo de objetos y que valores pueden tomar, así como describir relaciones entre objetos.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Sin embargo RDF y RDFS no ofrecen una solución completa para poder crear ontologías con una capacidad expresiva elevada. El W3C ha tomado como base una propuesta conjunta europea y norteamericana para generar la recomendación OWL (Ontology Web Language) con una capacidad expresiva superior a RDF/RDFS. Al contrario de lo que se podría pensar esta solución más completa no ha sido la más aceptada. El hecho de tener una mayor expresividad supone una mayor complejidad computacional lo cual se traduce en que una ontología expresada en OWL puede ser computacionalmente inasumible. Por este motivo, el W3C ha definido tres “sub-lenguajes” de OWL.

“sub-lenguajes” de OWL de mayor a menor complejidad : OWL Full OWL DL OWL Lite

En este tema se presentan los fundamentos técnicos que existen a día de hoy para expresar la información en la Web Semántica. En particular presentamos los lenguajes: XML (sección 3.2) RDF (sección 3.3) OWL (sección 3.4) los lenguajes de expresión de reglas (sección 3.5) No se pretende que el alumno domine la sintaxis completa de estos tres lenguajes, pero sí que tenga una visión global sobre los objetivos que cada uno de ellos pretende cubrir. También se busca que el alumno pueda, realizando todas las consultas que sean necesarias a la documentación recomendada, manejar alguno de los constructores más básicos de cada uno de estos lenguajes. En cada una de las secciones incluidas en este tema se realiza una introducción a cada uno de los lenguajes tratados. Se presentan los objetivos cubiertos y se introduce algún ejemplo básico. El alumno debe leer estas secciones y a continuación leer los correspondientes capítulos del libro “A Semantic Web Primer” al cual se proporciona el correspondiente enlace en la sección Lo + Recomendado.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

En caso de que no se quiera profundizar en los diferentes lenguajes, ofrecemos a continuación las páginas que se deben leer como mínimo para completar cada una de las secciones: Para el caso de XML deben leerse desde las páginas 24 a 34 con atención. Sería conveniente también una lectura rápida 2.3.1 (DTDs) y 2.3.2 (XML Schema). La sección de RDF debe ser completada mediante la lectura de las páginas 65 a 94. Para OWL el alumno debe leer detenidamente las páginas 113 a 131.

3.2. XML. Documentos web estructurados eXtensible Markup Language (XML) es un lenguaje de marcas que permite dar estructura a los documentos web, pudiendo identificar la semántica de cada una de las partes del documento. Se trata de una recomendación del W3C. XML es un lenguaje de marcado al igual que HTML, pero frente a éste último, que está centrado en la presentación de contenidos, XML se centra en la descripción de la estructura del documento y la semántica de los elementos que lo componen. Pongamos un ejemplo: <h1>Universidad Internacional de la Rioja </h1> La Universidad Internacional de la Rioja ofrece el <b>Máster en e-learning y redes sociales</b> compuesto por los siguientes cursos: <ul> <li> <i>Web Semántica </i> impartido por Luis Anido Rifón del 1 al 15 de noviembre de 2011 <li> <i> Diseño de LMSs</i> impartido por Pepe Pérez del 16 al 31 de noviembre de 2011 </ul>

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Una posible representación en XML de la información anterior podría ser: <ofertaPosgrado nombre=”Universidad Internacional de la Rioja”> <curso> <titulo> Web Semántica </titulo> <profesor> Luis Anido Rifón </profesor> <fechaComienzo formato=”ISO 8601”> 2011-11-01 </fechaComienzo> <fechaFin formato=”ISO 8601”> 2011-11-15 </fechaFin> </curso> <curso> <titulo> Diseño de LMSs </titulo> <profesor> Pepe Pérez </profesor> <fechaComienzo formato=”ISO 8601”> 2011-11-16 </fechaComienzo> <fechaFin formato=”ISO 8601”> 2011-11-31 </fechaFin> </curso> </ofertaPosgrado> En ambos casos podemos ver que tenemos, básicamente, la misma información. La diferencia fundamental estriba en que en el caso de HTML

el objetivo

fundamental es establecer las bases para la presentación de la información en un navegador. Se indica qué parte debe ser presentada como un título de primer

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

nivel, se identifican elementos que deben ser presentados como una lista no ordenada y también se indican qué partes del texto deben ser presentadas en negrita o en cursiva. Sin embargo no es posible identificar (sin realizar un razonamiento propio de un ser humano) el significado de las diferentes partes del texto que se han incluido. Precisamente es la posibilidad de estructurar un documento e identificar la semántica de las diferentes partes de un documento, los objetivos fundamentales de XML. En el ejemplo anterior podemos comprobar que es posible identificar dentro del documento qué partes se corresponden con nombre de cursos, nombres de profesores y fechas de comienzo y de fin de los cursos. Además gracias a la estructura del documento podemos identificar el profesor de un curso o a qué curso se refieren determinadas fechas de comienzo o de fin. Orígenes XML fue desarrollado por un grupo de trabajo bajo los auspicios del W3C a partir de 1996. Este grupo se constituyó en 1994 con el objetivo de desarrollar protocolos comunes para la evolución de Internet.

En el caso particular de XML los objetivos planteados por el grupo de desarrollo fueron: XML debe ser directamente utilizada sobre Internet XML debe soportar una amplia variedad de aplicaciones. XML debe ser compatible con SGML, el lenguaje de marcado del que “heredan” tanto XML como HTML. Debe ser fácil la escritura de programas que procesen documentos XML El número de características opcionales en XML debe ser mínimo, idealmente cero. Los documentos XML deben ser legibles por los usuarios de este lenguaje y razonablemente claros. El diseño de XML debe ser formal, conciso y preparado rápidamente. XML debería ser simple pero perfectamente formalizado. Los documentos XML deben ser fáciles de crear La brevedad en las marcas XML es de mínima importancia.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Estructura de un documento XML Un documento XML está formado por un prólogo y un determinado número de elementos. El prólogo nos permite identificar que el documento es un documento XML, la versión de XML que se utiliza o el tipo de codificación para caracteres utilizado. También es posible identificar en el encabezado dónde se encuentra (puede ser en el propio documento XML) la información en la que se especifican las “reglas” que regulan la estructura y marcas que pueden ser utilizadas en este documento. Los elementos del documento XML permiten identificar los conceptos de los que se habla en el documento, por ejemplo, profesores, cursos, fechas, libros, coches, ruedas, cucharas, etc. Un elemento está compuesto por la etiqueta de apertura, el contenido del elemento y la etiqueta de cierre. <profesor> Luis Anido </profesor> En este ejemplo, el documento XML está “incluyendo la semántica” de que el texto “Luis Anido” se refiere al concepto que el diseñador original de este lenguaje de marcas llama “profesor”. Los elementos pueden tener atributos que cualifican el contenido del elemento. Ya hemos visto el siguiente ejemplo: <fechaComienzo formato=”ISO 8601”> 2011-11-16 </fechaComienzo> En este caso formato es un atributo del elemento fechaComienzo que identifica el formato en el cual está expresado el contenido del elemento. Normalmente es posible expresar como elementos aquello que es posible con atributos. Sí debe tenerse en cuenta que los atributos no pueden anidarse. Estructura y reglas para los documentos XML Se dice que un documento está bien construido o “well-formed” cuando es sintácticamente correcto, es decir cumple con las normas básicas de XML.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Normas básicas de XML  Sólo hay un elemento en la parte “más externa” del documento y recibe el nombre de raíz (“root”)  Cada elemento debe tener una etiqueta de apertura y su correspondiente etiqueta de cierre.  No puede haber elementos que se solapen (e.g. <elemento1><elemento2>Contenido</elemento1></elemento2>). Dado que los elementos deben estar anidados, debería cerrarse el elemento 2 antes de hacerlo el elemento 1  Los atributos incluidos dentro de cada elemento deben tener nombres únicos.

Las anteriores son normas sintácticas básicas, comunes a todos los documentos XML. Existen, sin embargo dos mecanismos que permiten definir reglas adicionales mediante lo que se conoce como DTD o XML Schema. Se trata de los mecanismos de los que se dispone para definir qué etiquetas son válidas dentro de un documento, qué elementos se pueden incluir y con qué atributos. El primer mecanismo para la definición de la estructura de un documento XML fueron los DTD (Document Type Definition). En un DTD se especifican los elementos y atributos que pueden incluirse en un documento conforme a este DTD. Se identifican también restricciones adicionales, por ejemplo, el orden en el que deben aparecer, posibles sub-elementos de uno dado, los tipos y obligatoriedad de los atributos Un mecanismo más avanzado para definir la estructura de un documento XML es el XML Schema. Se trata de un lenguaje mejorado, el cual está basado en XML (DTD tiene su propia sintaxis). Entre las ventajas que podemos mencionar están: o Los programas capaces de entender un documento escrito en XML son los mismos que los programas que pueden entender un XML Schema. o Es posible reutilizar un XML Schema para crear otros XML Schemas mediante la reutilización o extensión de los primeros. o Los tipos de datos que se pueden utilizar son mucho más elaborados que en el caso de los DTDs, siendo incluso posible la definición de tipos de datos por parte del diseñador.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

3.3. RDF. Descripción de recursos web RDF, Resource Description Framework, aunque habitualmente nos refiramos a él como un lenguaje, es realmente un modelo de datos. Se basa en el concepto de sentencia o tripla: objeto – atributo – valor. Sus expresiones se materializan siempre en triplas de ese tipo. XML es un lenguaje de marcado que permite estructurar los datos que se incluyen en sus documentos. Se puede afirmar incluso que aporta cierta semántica a esos datos, sin embargo no es posible decir que esa semántica es universal. La expresión XML: <profesor> Luis Anido </profesor> <curso> Web Semántica </curso> Puede ser interpretada “fácilmente” como que Luis Anido se refiere a un profesor y Web Semántica como un curso. Sin embargo, no hemos definido en ningún lugar qué significa “profesor”, cuáles son las propiedades de un “profesor” o como puede relacionarse con otros objetos que pudieran estar definidos dentro de ese mismo documento. En otras palabras, la semántica de ese documento depende de la interpretación que gestione el software que interprete el documento. RDF permite realizar descripciones que aporten semántica “universal”. Mediante RDF será posible definir propiedades para los objetos definidos en un documento, establecer relaciones entre ellos e incluso realizar inferencias o pequeños razonamientos que permitan “descubrir” propiedades de los objetos allí incluidos sin que éstas aparezcan explícitamente en el documento. Por supuesto existen limitaciones y nos quedaremos lejos de la comprensión implícita que puede realizar un ser humano, pero sí existe un conjunto de descripciones, propiedades y relaciones que pueden ser realizadas en una forma comprensible por un agente software. Todo ello además de manera que estas descripciones puedan ser comprendidas por cualquier programa software que “entienda RDF” no sólo aquellos que han sido diseñados para comprender esa descripción RDF en particular.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

RDF y RDF Schema Con RDF podemos escribir las triplas que representan las sentencias objeto – atributo –

valor.

RDF

posee

diferentes

sintaxis

en

diferentes

lenguajes

de

representación, siendo quizá la más utilizada la representación en XML. El verdadero potencial semántico se obtiene mediante las definiciones realizadas en RDF Schema. RDFSchema o RDFS ofrece los mecanismos necesarios para definir los conceptos existentes en un dominio mediante la identificación de un vocabulario, la descripción de las propiedades que se pueden aplicar, los objetos sobre los cuales se pueden aplicar esas propiedades, los valores que pueden tomar, las relaciones entre objetos, etc. En cierto modo RDF es un lenguaje primitivo para la construcción de ontologías. RDFS nos permite describir un dominio y sus características propias. Con RDF podemos realizar descripciones concretas de ese dominio. Mediante RDF Schema podríamos por ejemplo describir qué es un curso, qué es un máster, qué es un profesor, cuáles son las propiedades que puede tener cada uno de estos objetos y cuáles son las relaciones entre ellos (por ejemplo que un curso es impartido por un profesor). Todo ello sin mencionar o utilizar cursos o profesores concretos. Con RDF podríamos realizar expresiones del tipo: Web Semántica es impartido por Luis Anido La cual sería correcta respecto a la definición del dominio realizada en RDFS. Aunque esa fuese la única expresión que hubiésemos realizado en RDF, un motor de inferencia RDF podría “deducir” que Luis Anido es un profesor puesto que según el modelo RDFS los cursos sólo pueden ser impartidos por profesores. Es importante insistir en que la deducción “Luis Anido es un profesor” supone la generación de nuevo conocimiento, conocimiento implícito a partir del conocimiento explícito existente: “Web Semántica es impartido por Luis Anido”

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

RDF Los conceptos fundamentales de RDF son los siguientes:

Recursos  Se trata de los objetos, las “cosas” relevantes dentro del dominio que queremos modelar. Por ejemplo, coche, taller, mecánico, rueda, bujía, hotel, habitación, reserva, etc. Cada recurso es identificado por su URI (Uniform Resource Identifier), que permite su identificación de forma unívoca a nivel global. Un ejemplo de URI es una URL o dirección web.

Propiedades  Una propiedad en RDF es un tipo especial de recurso que describe relaciones entre recursos. Ejemplos de propiedades son: “nombre”, “título”, “edad”, “escrito por”, “impartido por”, etc. Como recursos que son las propiedades son identificadas también por una URI.

Sentencias  Las sentencias se utilizan para identificar las propiedades de los recursos. Una sentencia es una tripla objeto – atributo – valor. El valor puede ser a su vez un literal (e.g. un número, una cadena de caracteres) o un recurso. Un ejemplo de sentencia es (Web Semántica, impartido por, Luis Anido).

Como ya se ha dicho, XML no es la única representación para RDF, sin embargo será la que utilicemos aquí asumiendo que el alumno ya está familiarizado con este lenguaje.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

A continuación mostramos un ejemplo de sentencia RDF simplificada expresada en XML: <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:xsd=”http://www.w3.org/2001/XMLSchema#” xmlns:uni=”http://www.midominio.org/uni-ns#” <rdf:Description rdf:about=”melC0012”> <uni:nombreCurso> Web Semántica </uni:nombreCurso> </rdf:Description> En la expresión anterior el objeto se especifica a través del atributo rdf:about, en este caso se trata del recurso “melC0012” que se supone habrá sido definido en algún otro lugar. El atributo es uni:nombreCurso. Se trata de la propiedad “nombreCurso” que ha sido definida en algún documento que aquí identificamos como “uni”. El valor es “Web Semántica”, un literal que identifica el nombre del curso con identificador melC0012. La sentencia anterior podría haberse expresado en lenguaje natural como: El curso melC0012 tiene como nombre Web Semántica La expresión anterior formaría parte de un documento XML en el cual habría sido necesario definir previamente los namespaces referenciados en él. En el ejemplo anterior hemos incluido el namespace “uni”. En el caso de XML los namespaces se utilizan para evitar problemas de ambigüedades. En RDF los namespaces externos son documentos RDF en los cuales se definen los recursos utilizados en el documento en cuestión. En el caso anterior el recurso (propiedad) “nombreCurso” se encuentra en el namespace identificado en el documento anterior como “uni”. Es posible establecer varias propiedades de un mismo recurso usando un único atributo rdf:about: <rdf:Description rdf:about=”melC0012”> <uni:nombreCurso> Web Semántica </uni:nombreCurso> <uni:impartidoPor> Luis Anido </uni:impartidoPor> </rdf:Description>

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Como se ha comentado el valor de una sentencia puede ser un literal, como en los ejemplos anteriores, o también un recurso. Para poder incluir un recurso como valor en una sentencia es necesario utilizar el atributo rdf:resource. Veamos una representación alternativa del ejemplo anterior en el que Luis Anido es el profesor con identificador 12345. <rdf:Description rdf:about=”melC0012”> <uni:nombreCurso> Web Semántica </uni:nombreCurso> <uni:impartidoPor rdf:resource=”12345”> </rdf:Description> <rdf:Description rdf:about=”12345”> <uni:nombre> Luis Anido </uni:nombre> <uni:titulo> Catedrático </uni:titulo> </rdf:Description> En estos ejemplos no hemos definido en ningún momento que melC012 es de tipo curso y que 12345 es el identificador de un recurso de tipo profesor. Esto es posible hacerlo utilizando la sintaxis de RDF y, por lo tanto, hacerlo comprensible para el agente software que interprete este documento: <rdf:Description rdf:about=”melC0012”> <rdf:type rdf:resource=”&uni,curso”> <uni:nombreCurso> Web Semántica </uni:nombreCurso> <uni:impartidoPor rdf:resource=”12345”> </rdf:Description> <rdf:Description rdf:about=”12345”> <rdf:type rdf:resource=”&uni,profesor”> <uni:nombre> Luis Anido </uni:nombre> <uni:titulo> Catedrático </uni:titulo> </rdf:Description>

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

RDF Schema Con RDF los usuarios pueden describir recursos utilizando sus propios vocabularios. En RDF no se realizan suposiciones sobre el dominio o la semántica del dominio. Todo esto se realiza a través de RDF Schema (RDFS). Con RDFS podemos definir las clases que utilizaremos, las propiedades que se pueden aplicar a esas clases, las relaciones entre clases, etc. Para aquellos familiarizados con los lenguajes de programación orientados a objetos podemos decir que:

RDFS

Con RDFS se pueden definir las clases

RDF Se nos permite estructurar los objetos, las instancias de esas clases.

Una de las principales características de RDFS es que puede establecer relaciones de herencia entre clases mediante el atributo rdf:subClassOf. Cuando identifiquemos que una clase A es una subclase de B, estamos diciendo que todas las instancias de la clase A poseen las propiedades de esa clase pero también de la clase B. RDFS también permite definir relaciones de herencia entre propiedades. En definitiva RDFS es un lenguaje primitivo para la definición de ontologías. Pero no es un lenguaje cualquiera, es un lenguaje de definición de ontologías para la web. Cualquier clase, recurso, propiedad, sentencia, etc. pueden referenciarse a través de su URI y reutilizarse desde cualquier otro lugar. Esto significa que el conocimiento capturado por una ontología RDF está disponible para ser reutilizada de forma directa referenciando el namespace correspondiente. Y lo que resulta más importante, esa ontología puede ser extendida, incorporando nuevo conocimiento sobre el ya definido. No debemos olvidar que al hablar de la web, estamos diciendo que una ontología que se diseña en Madrid, puede estar basada en la reutilización y modificación de ontologías definidas en Nueva York o Singapur por ejemplo.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Las clases básicas de RDFS son:     

rdfs:Resource, la clase de todos los recursos rdfs:Class, la clase de todas las clases rdfs:Literal, la clase de todos los literales (cadenas de caracteres) rdf:Property, la clase de todas las propiedades rdf:Statement, la clase de todas las sentencias

Las principales propiedades son:

rdf:type  Permite relacionar un recurso con su clase. Mediante esta propiedad decimos que un recurso es una instancia de una clase.

rdfs:subClassOf  Permite relacionar una clase con otra clase de la cual hereda (superclase). Todas las instancias de una clase también son instancias de su superclase.

rdfs:subPropertyOf  Permite relacionar una propiedad con una de las propiedades de las cuales hereda.

Veamos un ejemplo en cual definimos que la clase catedrático es una sub-clase de la clase profesor: <rdfs:Class rdf:about=”Catedratico”> <rdfs:subClassOf rdf:resource=”profesor”/> </rdfs:Class>

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Las propiedades subClassOf y subPropertyOf son transitivas. En RDFS también disponemos de dos propiedades muy relevantes para restringir otras propiedades. Éstas son:

rdfs:domain  Permite definir el dominio de una propiedad, es decir el tipo de recurso al cual puede aplicarse. Esto supone que cualquier recurso al que se le aplica la propiedad debe ser una instancia de la clase dominio.

rdfs:range  Define el rango de la propiedad. Esto supone que el valor de una propiedad debe ser una instancia de la clase rango.

En el siguiente ejemplo estamos diciendo que la propiedad “impartidoPor” se puede aplicar a objetos de la clase “curso” y que tendrá como valor objetos de la clase “profesor”. <rdf:Property rdf:ID=”impartidoPor”> <rdfs:domain rdf:resource=”#curso”> <rdfs:domain rdf:resource=”#profesor”> </rdf:Property>

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

3.4. OWL. Lenguaje de definición de ontologías para la web La capacidad expresiva de RDF y RDFS es limitada. Esta característica impuesta de forma deliberada por sus diseñadores para facilitar su viabilidad computacional, limita la posibilidad de utilizar estos lenguajes para muchas aplicaciones de la web semántica. Por este motivo el W3C, a través de su grupo de trabajo para ontologías web, ha trabajado en la creación de una recomendación a la que se ha denominado OWL, Ontology Web Language. Para ello tomó como base la propuesta DAML+OIL procedente a su vez de la norteamericana DAML-ONT y de la europea OIL. Cuando se utiliza RDF/RDFS para la descripción de una ontología nos encontramos que si bien es

posible

representar

cierto

conocimiento

ontológico

(principalmente la organización de vocabularios en jerarquías y la relación entre entidades) todavía existen multitud de características propias de una ontología que no pueden ser expresadas.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

A continuación enumeramos algunas de ellas: Ámbito local de las propiedades. Cuando expresamos una característica de una propiedad, por ejemplo su rango, no es posible definir restricciones que únicamente se utilicen cuando la propiedad se aplica a determinadas clases. Por ejemplo si decimos que el dominio de la propiedad impartidoPor es profesor, no podemos especificar que en el caso de que se trate de un curso de posgrado únicamente podrá ser impartido por un profesor con un doctorado. Clases disjuntas. No es posible definir que dos clases son disjuntas por ejemplo aves nocturnas y aves diurnas. Combinación booleana de clases. No es posible definir nuevas clases mediante combinaciones de otras como la unión, la intersección o el complemento. Restricciones de cardinalidad. No es posible con RDF/RDFS establecer restricciones sobre el número de valores distintos que puede tomar una propiedad. Características especiales de propiedades. Tampoco es posible definir características de una propiedad como transitividad (e.g. menor que), unicidad (e.g. es madre de) o que dos propiedades son inversas (e.g. impartidoPor e imparte) Los tres sublenguajes de OWL El diseño de un lenguaje para la generación de ontologías que vayan a ser gestionadas por un sistema software debe enfrentarse al compromiso entre capacidad expresiva y viabilidad computacional. La generalidad en cuanto a la capacidad expresiva supone unos compromisos para un sistema computacional que deba soportarlo que, en muchas ocasiones, son simplemente inviables a día de hoy. Con el objetivo de establecer diferentes niveles de compromiso entre la eficiencia de razonamiento y capacidad expresiva, el W3C ha definido tres sub-conjuntos: OWL Full utiliza toda la capacidad expresiva de OWL, es el lenguaje OWL completo. Se permite también la compatibilidad completa con RDF y RDFS. La ventaja de OWL Full es que es totalmente compatible con RDF tanto sintáctica como semánticamente. La desventaja es que la capacidad expresiva de OWL Full es tan potente que no existen a día de hoy razonadores software que puedan soportar toda su semántica.

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

OWL DL (Description Logic) es un sub-lenguaje de OWL Full que restringe la utilización de constructores tanto de OWL como de RDF. No se utilizan todas las posibilidades de OWL, lo cual tiene sus limitaciones, pero permite, sin embargo, que sea factible su gestión mediante un razonador software. OWL Lite es la versión más reducida de OWL que limita el uso de muchos de los constructores de OWL (e.g. clases enumeradas, clases disjuntas y cardinalidad). Esta restricción tiene como contrapartida que es más accesible para los usuarios y sobre todo, más eficiente desde un punto de vista computacional. Algunos constructores de OWL OWL se basa en el uso de la sintaxis de RDF y RDF Schema, primordialmente en la basada en el uso de XML. Es por ello por lo que aquellos familiarizados con la sintaxis de RDF y RDFS no tendrán problema en usar OWL. Únicamente deben considerar los nuevos constructores que aporta OWL. A continuación presentamos algunos de ellos:

owl:disjointWith  Permite identificar que dos clases son disjuntas, es decir que sus instancias no pueden pertenecer a las dos clases a la vez.

<owl:Class rdf:about=”#profesorAsociado”> <owl:disjointWith rdf:resource=”#catedratico”/> <owl:disjointWith rdf:resource=”#profesorTitular”/> </owl:Class> El ejemplo anterior dice que un profesor asociado no puede ser el mismo tiempo profesor titular o catedrático.

owl:equivalentClass  Permite definir que dos clases son equivalente

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

<owl:Class rdf:ID=”profesorado”> <owl:equivalentClass rdf:resource=”#personalAcademico”/> </owl:Class> La clase profesorado es equivalente (se le pueden por tanto aplicar las mismas propiedades y razonamientos) que a la clase personal académico.

owl:inverseOf  Permite definir que dos propiedades son inversas. Por lo tanto el rango y dominio de ambas deben estar intercambiados.

<owl:ObjectProperty rdf:ID=”imparte”> <rdfs:range rdf:resource=”#curso”/> <rdfs:domain rdf:resource=”#personalAcademico”/> <owl:inverseOf rdf:resource”#impartidoPor”/> </owl:ObjectProperty> El ejemplo anterior dice que la propiedad “imparte” tiene como dominio a la clase “personalAcademico” y como rango la clase “curso”. Puesto que se dice que “impartidoPor” es una propiedad inversa, podemos inferir que el dominio de “impartidoPor” es “curso” y su rango “personalAcademico”. Según el ejemplo anterior, la clase “profesorado” puede actuar como dominio de la propiedad “imparte” y como rango de la propiedad “impartidoPor”. Toda esta información, que puede resultar evidente para el lector, no puede ser extraída por un razonador software si no existiesen estos nuevos constructores OWL. Con OWL también podemos identificar restricciones que queremos aplicar a determinas propiedades para ello se utilizan los constructores: owl:Restriction y owl:onProperty

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Restricciones que podemos establecer:  owl:allValuesFrom – identifica la clase de los valores para el rango de una propiedad  owl:hasValue – define el valor que debe tomar una propiedad  owl:someValuesFrom – define que al menos un valor del rango de la propiedad debe ser tomada de la clase indicada

Definir las características de una propiedad:  owl:TransitiveProperty – define que una propiedad es transitiva  owl:SymmetricProperty – define que dos propiedades son simétricas  owl:FunctionalProperty – define que una propiedad puede tomar únicamente un valor  owl:InverseFunctionalProperty – define que si dos objetos tienen el mismo valor para esta propiedad entonces se trata del mismo objeto

TEMA 3 – Ideas clave


Web semántica y tecnologías 2.0

Lo + recomendado No dejes de leer… A Semantic Web Primer Antoniou, G.; van Harmelen, F. The MIT Press. Cambridge, Massachussetts. London, England. ISBN: 978-0-262-01242-3. Se trata de una referencia muy completa sobre los principales asuntos tratados en este tema. Son de relevancia los capítulos 2, 3, 4 y 5 que debes consultar para profundizar en las correspondientes secciones de este tema. El documento está disponible en el aula virtual y en la siguiente dirección web: http://books.google.es/books?id=cIYAiS1wbRsC&printsec=frontcover&dq=a+semanti c+web+primer&source=#v=onepage&q=a%20semantic%20web%20primer&f=false

No dejes de ver… HTML vs XML En esta presentación se presentan las principales diferencias entre HTML y XML.

La presentación está disponible en el aula virtual y en la siguiente dirección web: http://www.slideshare.net/EduardoTABD/html-vs-xml-3301448

TEMA 3 – Lo + recomendado


Web semántica y tecnologías 2.0

Introduction to XML Esta presentación presenta los principios básicos de XML.

La presentación está disponible en el aula virtual y en la siguiente dirección web: http://www.slideshare.net/bdebruin/introduction-to-xml-4076129

Learn XML Tutorial En esta serie de vídeos sobre XML y tecnologías relacionadas se realiza una introducción a sus características más destacadas.

El video está disponible en el aula virtual y en la siguiente dirección web: http://www.youtube.com/watch?v=qgZVAznwX38&feature=grec_index

TEMA 3 – Lo + recomendado


Web semántica y tecnologías 2.0

+ Información Webgrafía W3C Web de W3C en la que encontrarás información interesante sobre estándares.

http://www.w3.org HTML http://www.w3.org/TR/html4/ XML http://www.w3.org/XML/ SGML http://www.w3.org/MarkUp/SGML/ DTD http://www.w3.org/TR/html4/sgml/dtd.html DTD Tutorial http://www.w3schools.com/dtd/default.asp XQuery http://www.w3.org/XML/Query/ XQuery tutorial http://www.w3schools.com/xquery/default.asp

Bibliografía Benoit Marchal. “XML by Example”, John Pierce. ISBN: 0-7897-2242-9 Disponible también en slideshare.

TEMA 3 – + Información


Web semántica y tecnologías 2.0

Test 1. ¿Cuáles de las siguientes afirmaciones son correctas? A. Tanto XML como HMTL son lenguajes de marcado. B. XML ofrece mecanismos para la estructuración y clasificación semántica de los elementos de un documento. C. HTML está enfocado a la presentación uniforme de documentos. D. Todas las anteriores. 2. ¿Cuáles de las siguientes se pueden corresponder con partes correctas de un documento XML? A. <libro><titulo>El nombre de la Rosa</libro></titulo> B. <persona nombre=Luis apellido=Anido> C. <profesor><nombre>Luis</profesor> D. Ninguna de las anteriores. 3. Indique cuáles de los siguientes permiten la definición de la estructura de documentos XML usando también la sintaxis de XML? A. DTDs B. XML Schema C. Namespaces D. Ninguna de las anteriores. 4. Las triplas RDF están compuestas por: A. objeto – atributo – valor B. objeto – valor - subvalor C. clase – objeto – valor D. Ninguna de las anteriores. 5. Identifique cuáles de las siguientes afirmaciones son correctas: A. RDFS es un lenguaje primitivo para la construcción de ontologías. B. Una clase en RDFS puede tener varias superclases. C. RDFS se expresa en RDF. D. Todas las anteriores.

TEMA 3 – Test


Web semántica y tecnologías 2.0

6. Identifique cuáles de las siguientes son propiedades de RDFS: A. rdfs:subClassOf B. rdfs:range C. rdfs:domain D. Todas las anteriores. 7. ¿Es posible especificar en RDF que dos clases son disjuntas? A. Si B. No 8. ¿Es posible especificar en OWL que dos clases son disjuntas? A. Si B. No 9. ¿Es posible especificar en RDF que una propiedad es la inversa de otra? A. Si B. No 10. ¿Es posible especificar en OWL que una propiedad es inversa de otra? A. Si B. No

TEMA 3 – Test


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.