27
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 web TEMA

tema3,La Web Semántica

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: tema3,La Web Semántica

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

web

T

EM

A

Page 2: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Esquema

Esquema

Lenguajes Web Semántica

XML RDF/RDFS OWL

Page 3: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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

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.

XML

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.

Page 4: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

OWL Full

OWL DL

OWL Lite

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

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.

Page 5: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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>

Page 6: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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

Page 7: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

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

En el caso particular de XML los objetivos planteados por el grupo de desarrollo fueron:

La brevedad en las marcas XML es de mínima importancia.

Page 8: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

Page 9: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

Normas básicas de XML

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.

Page 10: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

Page 11: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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”

Page 12: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

RDF

Los conceptos fundamentales de RDF son los siguientes:

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 (UniformResource Identifier), que permite su identificación de forma unívoca a nivel

global. Un ejemplo de URI es una URL o dirección web.

Recursos

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.

Propiedades

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

Sentencias

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.

Page 13: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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>

Page 14: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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>

Page 15: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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

Se nos permite estructurar los objetos, las instancias de esas

clases.

RDF

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.

Page 16: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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 clases básicas de RDFS son:

Las principales propiedades son:

Permite relacionar un recurso con su clase. Mediante esta

propiedad decimos que un recurso es una instancia de una clase.

rdf:type

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:subClassOf

Permite relacionar una propiedad con una de las propiedades de

las cuales hereda.

rdfs:subPropertyOf

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>

Page 17: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

Las propiedades subClassOf y subPropertyOf son transitivas.

En RDFS también disponemos de dos propiedades muy relevantes para restringir

otras propiedades. Éstas son:

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:domain

Define el rango de la propiedad. Esto supone que el valor de una

propiedad debe ser una instancia de la clase rango.

rdfs:range

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>

Page 18: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

Page 19: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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.

Page 20: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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:

Permite identificar que dos clases son disjuntas, es decir que sus

instancias no pueden pertenecer a las dos clases a la vez.

owl:disjointWith

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

Permite definir que dos clases son equivalente

owl:equivalentClass

Page 21: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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

Permite definir que dos propiedades son inversas. Por lo tanto el

rango y dominio de ambas deben estar intercambiados.

owl:inverseOf

<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

Page 22: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Ideas clave

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

Restricciones que podemos establecer:

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

Definir las características de una propiedad:

Page 23: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Lo + recomendado

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

Page 24: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Lo + recomendado

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

Page 25: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – + Información

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

Page 26: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Test

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.

Page 27: tema3,La Web Semántica

Web semántica y tecnologías 2.0

TEMA 3 – Test

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