Upload
jose-rob
View
245
Download
1
Embed Size (px)
DESCRIPTION
Â
Citation preview
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
Web semántica y tecnologías 2.0
TEMA 3 – Esquema
Esquema
Lenguajes Web Semántica
XML RDF/RDFS OWL
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.
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.
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>
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
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.
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.
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.
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.
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”
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.
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>
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>
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.
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>
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>
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.
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.
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
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
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:
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
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
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.
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.
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