Title: Sergio Ilarri Artigas (silarri@unizar.es)
1La Web Semántica Semantic Web
- Sergio Ilarri Artigas (silarri_at_unizar.es)
- Raquel Trillo Lado (raqueltl_at_unizar.es)
- Sistemas de Información Distribuidos
(http//sid.cps.unizar.es)
2 Módulo de Web Semántica
- Agentes software. Agentes móviles.
- Representación del conocimiento.
- Recuperación de información.
- Bases de datos federadas.
- La Web Semántica
- Introducción a la Web Semántica Definición y
objetivos. - Lenguajes de la Web Semántica RDF, RDF-S, OWL,
... - Razonadores de lógica descriptiva FACT,
RacerPro, Pellet, ... - Introducción a los Servicios Web Semánticos.
- La investigación en el grupo Sid en el campo de
la web semántica
3Guión Introducción a la Web Semántica
- La Web actual. Problemas de la web orientada a
humanos. - La Web Semántica. Ejemplo motivador (Tim Berners
Lee). - Reflexión acerca de las distintas versiones de la
Web. - Propuesta de arquitectura para la Web Semántica.
4La Web actual. Problemas de la Web orientada a
humanos
- La World Wide Web (la Web)
- Nació en el CERN (Suiza) en la década de los 80.
- 1980, Tim Berners Lee introdujo las ideas con el
objetivo de que sirvieran para organizar los
documentos de las investigaciones científicas en
el campo de la física. - 1990, acabó el primer servidor web (NeXTcube).
- 1991, creó el primer navegador web (que también
era editor) y las primeras páginas web. - 1993, se liberaron las investigaciones en este
campo para uso libre y comenzó la gran explosión
de sitios web.
5La Web actual. Problemas de la Web orientada a
humanos
6La Web actual. Problemas de la Web orientada a
humanos
- La World Wide Web (la Web)
- Mayor almacén de información no centralizado.
Información sobre cualquier tema. - Acceso casi instántaneo desde cualquier conexión.
Enlace
Enlace
Enlace
Enlace
Enlace
Enlace
Enlace
Enlace
Enlace
7La Web actual. Problemas de la Web orientada a
humanos
- La Web actual se caracteriza porque
- La información está en lenguaje natural en
diferentes idiomas (inglés, chino, español,
catalán, francés, ...) - Está orientada a que los humanos podamos
procesar la información con facilidad (legible
para humanos), pero no para que pueda ser
procesada automáticamente por una máquina (no
legible para máquinas) - Información acerca de Santiago (enlace).
- Mañana por la mañana se retrasará el vuelo a
Granada.
8La Web semántica. Ejemplo motivador (Tim
Berners-Lee)
- Surge el concepto de Web Semántica
- Es una extensión a la Web actual que pretende
dotar a la web de mayor significado (semántica),
creando normas, lenguajes y protocolos para que
la información web sea legible para máquinas. - Ejemplo (Tim Berners-Lee en Scientific American,
Mayo de 2001) - Los Beatles cantan We can work it out... en el
equipo de sonido de Bob cuando suena el
teléfono... - El agente asociado al control del teléfono avisa
a todos los dispositivos que tienen control de
volumen y están activados para que lo bajen
automáticamente... - Es su hermana Lucy al teléfono. Su madre va a
necesitar sesiones de fisioterapia y tienen que
turnarse para acompañarla. Acuerdan que sus
agentes (que residen probablemente en algún móvil
con agenda o una PDA) hagan las gestiones
necesarias para planificar las visitas al
fisioterapeuta.
9La Web semántica. Ejemplo motivador (Tim
Berners-Lee)
- El agente de Lucy recoge la prescripción de los
sistemas del médico, busca clínicas en un área de
20 kilómetros que tengan un nivel de confianza,
por parte de organismos fiables, de alto o muy
alto, y que sus precios estén en un rango
determinado. - Una vez escogida la clínica, el agente de Lucy
contacta con el de su hermano. Analizan sus
agendas personales y fiajn las fechas en las que
cada uno acompañará a su madre. - Los agentes plantean las opciones a sus usuarios.
A Lucy le parece bien pero a Bob no, porque a las
horas en las que se indican las sesiones hay
mucho tráfico. Entonces Bob especifica a su
agente unos criterios más estrictos de hora y
localización. - El agente de Bob busca otras opciones y las
encuentra, siempre que cambie un par de citas en
su agenda. Bob lo acepta y envía un nuevo plan a
Lucy, que también lo acepta.
10La Web semántica. Ejemplo motivador (Tim
Berners-Lee)
- Se añaden las citas a las agendas de los dos
hermanos de forma automática y se realizan las
reservas en la clínica. - Actualmente, esto lo podemos hacer, pero
interviniendo los humanos en cada uno de los
pasos para interpretar la información, y de
forma manual. - El concepto de Web Semántica global es muy
ambicioso y mucha gente tiene dudas sobre su
viabilidad, pero ya se está caminando en esa
dirección. - World Wide Web 1980 1993, Web Semántica
2001-2014?
11Reflexión acerca de las distintas versiones de la
web
- Debido a los cambios que se han producido en la
Web desde 1993, empezaron a distinguirse
versiones - Web 1.0 o Web Estática Páginas estáticas HTML
que no se actualizaban frecuentemente. - Web 1.5 o Web Dinánica Inclusión de JSP,
ASP.NET, PHP, ... Para la generación de páginas
dinámicas creadas a partir de la información de
una base de datos con información muy
actualizada. - Éxito de las empresas denominadas .com.
- Web 2.0 o Web Social Está orientada a la
interacción y a las redes sociales y está
despegando en la actualidad Blogs, grupos de
noticias (Menéame, Flickr, ...). Se insertan
metadatos a través de etiquetas (tags). - Web 3.0 o Web Semántica Inserción de metadatos
de forma que sean legibles y procesables por
máquinas.
12Propuesta de arquitectura para la Web Semántica
- Problema de la web actual Las marcas de HTML
incluyen información sobre la visualización (tipo
de letra, color, etc.), pero no información
semántica.
13Propuesta de arquitectura para la Web Semántica
- Posible solución XML Las etiquetas tienen
significado. - ltGrupoDeInvestigacion nombreSIDSistemas de
Información Distribuidosgt - ltMiembrosgt
- ltProfesoresgt
- ltPersona nombreEduardo Mena
esDirectorsigt - ltPersona nombreSergio Ilarri
esDirectornogt - ...
- lt/Profesoresgt
- ltInvestigadoresgt
- ....
- lt/Investigadoresgt
- .....
- lt/Miembrosgt
- lt/GrupoDeInvestigaciongt
14Propuesta de arquitectura para la Web Semántica
- Problema La elección de las etiquetas. Sería
necesario un consenso global. - ltResearchGrupo nameSIDSistemas de Información
Distribuidosgt - ltMembersgt
- ltTeachersgt
- ltPerson nameEduardo Mena
isDirectoryesgt - ltPerson nameSergio Ilarri isDirectornogt
- ...
- lt/Teachersgt
- ltMembersgt
- lt/ResearchGroupgt
15Propuesta de arquitectura para la Web Semántica
- Otro problema Se puede expresar lo mismo
empleando diferentes estructuras. - ltResearchGrupo nameSIDSistemas de Información
Distribuidosgt - ltMembersgt
- ltPerson nameEduardo Mena
isDirectoryes - roleTeacher/gt
- ltPerson nameMauricio Espinoza
isDirectorno
roleReseacher/gt - ltPerson nameCarlos Bobed
isDirectorno
rolePhDStudent/gt - ...
- ltMembersgt
- lt/ResearchGroupgt
16Propuesta de arquitectura para la Web Semántica
- Solución
- Acuerdo global para compartir etiquetas de
anotación. - Dublin Core (DCMI). Es una iniciativa abierta
para el desarrollo de estándares de metadatos
(datos acerca de los datos) para favorecer la
interoperabilidad. (http//www.dublincore.org) - Uso de ontologías.
17Propuesta de arquitectura para la Web Semántica
- Además serán necesarios
- Reglas de inferencia acerca de la información
proporcionada. - Si un alimento tiene tanta cantidad de glucosa se
considera dulce. - Mecanismos para poder hacer razonamiento
automático razonadores - BACK, RacerPro, FACT, ...
- y además todo esto distribuido y altamente
dinámico - La Web no es centralizada.
- La Web es dinámica y abierta.
18Propuesta de arquitectura para la Web Semántica
19Propuesta de arquitectura para la Web Semántica
- Qué es UNICODE?
- Un estándar en principio industrial para la
codificación, diseñado para permitir texto y
símbolos de todos los sistemas de escritura.
(Norma ISO 8859). - Surgió debido a las limitaciones del formato
ASCII (7 bits) y el formato ASCII extendido (8
bits). - 16 bits.
20Propuesta de arquitectura para la Web Semántica
- Qué es una URI?
- Una URI (Uniform Resource Identifier) es un
identificador que identifica un recurso o un
objeto cualquiera dentro de la web semántica - Ejemplo http//sid.cps.unizar.es
- Una URI NO tiene porque proporcionar una forma
de acceder a dicho recurso o a información sobre
dicho recurso - Una URI puede referenciar un recurso que no esté
disponible vía web y sobre el que no existe
ninguna información. - Las URL (Uniform Resource Locators) son tipos
especiales de URIs que sí indican cómo localizar
el recurso que tienen asociado. - No existe una gestión centralizada de las URIs.
Un mismo recurso puede tener asociadas varias
URIs.
21Propuesta de arquitectura para la Web Semántica
- XML (Extensible Markup Language) A diferencia
del HTML especifica la estructura de sus
contenidos, no el modo de visualizarlos. - Especifica la sintaxis del documento (orden, tipo
de datos, formato, ...) en el DTD o XML Schema. - Si existe acuerdo global en las etiquetas a
utilizar (XML Schema) es fácil conocer la
semántica del contenido.
22Propuesta de arquitectura para la Web Semántica
- RDF (Resource Description Framework)
- Permite describir recursos mediante propiedades y
sus valores de propiedades. - Recurso cualquier cosa que pueda identificarse
con una URI (Uniform Resource Identifier). - Propiedad característica o atributo de un
recurso - Asociada a una URI y a un significado (tipo
especial de recurso). - Describen relaciones entre recursos
(escritoPor, edad, título). - Valor Valores concretos que puede tomar una
propiedad. - Enunciado Asocia el valor de una propiedad de un
recurso a un recurso - Ejemplo Tintín es periodista
Periodista
Tintín
tieneProfesion
23Propuesta de arquitectura para la Web Semántica
- Con RDF, tenemos un grafo acíclico dirigido
- Los nodos origen son URIs
- Los arcos también son URIs
- Los nodos destino pueden ser URIs o literales
24Propuesta de arquitectura para la Web Semántica
- Una representación (textual) alternativa
- (http//miPagDeComics/tintin, http//siteWithSens
es/tieneProfesion, Periodista) - (http//miPagDeComics/tintin, http//purl.org/DC/
Creator, Hergé)
25Propuesta de arquitectura para la Web Semántica
- Y en sintaxis XML
- ltrdfRDF xmlnsrdfhttp//www.w3.org/1999/02/22-r
df-syntax-ns - xmlnsshttp//siteWithSenses/
- xmlnsdchttp//purl.org/DC/gt
- ltrdfDescription abouthttp//miPagDeComics/tint
ingt - ltstieneProfesiongtPeriodistalt/stieneProfesiongt
- ltdcCreator resourceHergé /gt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
26Propuesta de arquitectura para la Web Semántica
- De este modo conseguimos tener relaciones entre
los diferentes recursos existentes en la Web.
EsUnTipoDe
EsAutor
TieneAutor
EstaSituadoEn
27Propuesta de arquitectura para la Web Semántica
- RDF-Schema Es necesario porque hay que
distinguir entre - Cosas concretas (individuos) del dominio.
- Clases o conceptos Conjunto de clases que
comparten alguna característica. - La relación entre un individuo y la clase a la
que pertenece se describe mediante la propiedad
rdftype. - RDF-Schema permite declarar clases y
restricciones de clases para evitar enunciados
que no tienen sentido - Restricciones de Rango Juan da clase de Pepe
(Poner una restricción que indique que la
propiedad da clase de tiene de rango
asignaturas). - Restricciones de Dominio Algebra da clase de
Calculo (Poner una restricción que indique que la
propiedad da clase de tiene de dominio
asignaturas).
28Propuesta de arquitectura para la Web Semántica
- RDF-Schema
- Las clases pueden organizarse en jerarquías
mediante la propiedad subPropertyOf - Relación transitiva.
- Una clase no puede ser subclase de si misma.
- Herencia múltiple.
- Se puede decir que a través de RDF-Schema podemos
definir las ontologías, y que con RDF podemos
describir las instancias de esas ontologías. - Como RDF y RDF Schema no proporcionaban
potencionalidad suficiente para todas las
restricciones deseadas, apareció OWL.
29Propuesta de arquitectura para la Web Semántica
- OWL, Ontology Web Language. Diferencia tres
niveles - OWL Full Unión de sintaxis OWL y RDF (sin
restricciones) - Puede dar lugar a problemas NP completos (no
decidibles) al realizar los razonamientos. - OWL DL (Description Logics).
- Limita la expresividad del lenguaje tratando de
conseguir decibilidad. - Pierde compatibilidad con RDF.
- Puede emplear algoritmos conocidos para realizar
razonamiento. - Existen varios sistemas que lo implementan.
- OWL Lite. Subconjunto de OWL DL más fácil de
implementar y se espera que sea más eficiente.
30Propuesta de arquitectura para la Web Semántica
- De forma paralela a RDF, RDF-Schema y OWL, e
impulsados por otras industrias e investigadores,
aparecieron los lenguages DAML-OIL básicamente
para lo mismo. - Hoy en día OWL es un estándar por eso, los demás
lenguajes que permanecen proporcionan traductores
a OWL - Protégé (editor que usa un lenguaje propietario)
- OILed (editor que usa OIL)
31RDF y RDF Schema
- Máster en Servicios Web y Comercio Electrónico
- Curso 2006/2007
- Curso de Web Semántica
- Sergio Ilarri Artigas
- silarri_at_unizar.es
32Índice
- El modelo de datos de RDF
- Sintaxis basada en XML
- RDF Schema (RDFS)
- Definición de RDF y RDFS
- Semántica e Inferencias
- Lenguajes de consulta. Ej. RQL
- Conclusiones
33Definiciones Básicas (I)
1. El modelo de datos de RDF
- Un documento RDF es un conjunto de sentencias
(statements) - Sentencia afirmación hecho
- Una sentencia consta de 3 elementos
- Recurso (resource) o sujeto (subject)
- Propiedad (property) o atributo
- Valor (value) u objeto (object)
34Definiciones Básicas (II)
- Recurso
- Cualquier cosa de la que queremos hablar
- Real libro, persona, hotel, etc.
- Abstracta petición, reserva, etc.
- Tiene un URI como identificador
- URL u otros (no tiene por qué apuntar a una
página web)
35Definiciones Básicas (III)
- Propiedades
- Describen relaciones entre recursos
- Ejemplos phoneNumber, title, publishedBy,
etc. - Son un tipo de recursos
- Por tanto, se identifican también con un URI
36Definiciones Básicas (IV)
- Valores
- Pueden ser
- recursos (con su URI)
- literales (cadenas de caracteres)
- Mediante una sentencia, una propiedad relaciona
un recurso con su valor (que puede ser otro
recurso)
37Representación Sentencias (I)
- 1. En lenguaje natural
- http//www.example.org/index.html has a creator
- whose value is John Smith
- 2. Usando una tripleta
-
- lthttp//www.example.org/index.htmlgt creator
John Smith
sujeto-propiedad-objeto
lthttp//purl.org/dc/elements/1.1/creatorgt
38Representación Sentencias (II)
- 3. Como fórmula lógica
- Creator(http//www.example.org/index.html, John
Smith) - 4. Usando un grafo RDF
-
http//www.w3.org/TR/rdf-primer
39Representación Sentencias (III)
- El valor de una sentencia puede ser un recurso o
un valor
http//www.w3.org/TR/rdf-primer
40Representación Sentencias (IV)
- 5. Utilizando XML (RDF/XML)
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnsexterms"http//www.example.or
g/terms/"gt - ltrdfDescription rdfabout"http//www.example.
org/index.html"gt - ltextermscreation-dategtAugust 16,
1999lt/extermscreation-dategt - lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
41Reification
- En RDF es posible hacer afirmaciones acerca de
afirmaciones - statements about statements
- Ejemplo expresar creencia o confianza
- Lidia Smith believes that http//www.example.org/i
ndex.html has a - creator whose value is John Smith
Objeto auxiliar
Cómo podemos hacer esto?
Próximamente...
42Literales Tipados (I)
- Puede no estar claro el sentido de un literal
Cómo debe interpretarse el 27? Tiene sentido
hacer operaciones artiméticas con él? Es un
número? O dos caracteres en secuencia?
http//www.w3.org/TR/rdf-primer
43Literales Tipados (II)
- Hay que especificar cómo debe interpretarse un
literal
- lthttp//www.example.org/staffid/85740gt
- lthttp//www.example.org/terms/agegt
- "27"lthttp//www.w3.org/2001/XMLSchemaintegergt
- exstaff85740 extermsage "27"xsdinteger
QName
http//www.w3.org/TR/rdf-primer
44Literales Tipados (III)
- RDF no define tipos de datos
- Salvo rdfXMLLiteral
- En lugar de eso
- Tipos de datos definidos externamente mediante
sus URIs - Puede utilizarse cualquier esquema externo de
tipado de datos - En la práctica tipos de XML Schema
- Flexibilidad no conversión a tipos nativos
45Tipos Datos XML Schema (I)
http//www.w3.org/TR/xmlschema-2/
46Tipos Datos XML Schema (II)
- Cada tipo predefinido se referencia
- URI base la URI del espacio de nombres de XML
Schema - Identificador de fragmento el nombre del tipo de
dato - Ejemplo
- http//www.w3.org/2001/XMLSchemaint
URI base
tipo
47Abreviaturas Qname (I)
- En las tripletas hay que usar URIs completas o
usar nombres cualificados - QName XML Qualified Name
- Sintaxis prefixlocalname
- Ejemplo si foo es un prefijo asociado a
http//example.org/somewhere/, foobar equivale a
lthttp//example.org/somewhere/bargt
48Abreviaturas Qname (II)
Prefijo URI del espacio de nombres
rdf http//www.w3.org/1999/02/22-rdf-syntax-ns
rdfs http//www.w3.org/2000/01/rdf-schema
dc http//purl.org/dc/elements/1.1/
owl http//www.w3.org/2002/07/owl
ex http//www.example.org/ o http//www.example.com/
exterms http//www.example.org/terms/
exstaff http//www.example.org/staffid/
ex2 http//www.domain2.example.org/
49Sólo Propiedades Binarias
- Con frecuencia tenemos predicados con más de 2
argumentos - Cómo representamos lo siguiente?
resultado(Zaragoza, X, Barcelona, Y)
goles del Zaragoza
goles del Barcelona
50Estructuras Agregadas (I)
- Cómo podemos representar estructuras agregadas?
- Por ejemplo, que una persona tiene una dirección
y esa dirección consta de país, ciudad, calle, y
código postal - O algo que sea un número con sus unidades de
medida (metros, centímetros, etc.)
51Estructuras Agregadas (II)
Considerar el agregado como un recurso y declarar
sentencias sobre dicho recurso
http//www.w3.org/TR/rdf-primer/
52Estructuras Agregadas (III)
- El problema es que podemos generar URIs
intermedias que no se referencien nunca - Alguna solución?
53Estructuras Agregadas (IV)
- Podemos utilizar blank nodes (b-nodes)
Son recursos anónimos
http//www.w3.org/TR/rdf-primer/
54Estructuras Agregadas (V)
- Pero cómo representamos lo anterior
- con tripletas?
- exstaff85740 extermsaddress ???
- ??? extermsstreet "1501
Grant Avenue" - ??? extermscity
"Bedford" - ??? extermsstate
"Massachusetts" - ??? extermspostalCode "01730"
Solución 1
http//www.w3.org/TR/rdf-primer/
55Estructuras Agregadas (VI)
- Qué problema tiene lo anterior?
56Estructuras Agregadas (VII)
- Sólo podríamos tener un blank node
- Uso de blank nodes identifiers
- exstaff85740 extermsaddress
_johnaddress - _johnaddress extermsstreet "1501
Grant Avenue" - _johnaddress extermscity "Bedford"
- _johnaddress extermsstate
"Massachusetts" - _johnaddress extermspostalCode "01730"
Solución 2
Notación _nombre (nombres locales, no
realmente identificadores)
http//www.w3.org/TR/rdf-primer/
57Otra Utilidad de Blank Nodes
- Declaraciones sobre recursos que se definen en
términos de sus relaciones (pero realmente no
tienen URI) - Ejemplo para hacer declaraciones acerca de una
persona, usar como URI su dirección de email
puede resultar confuso - Lo mismo ocurre si utilizamos como URI de una
empresa su URL
58Ejemplo de Blank Node
- _jane extermsmailbox ltmailtojane_at_example.o
rggt - _jane rdftype extermsPerson
- _jane extermsname "Jane Smith"
- _jane extermsempID "23748"
- _jane extermsage "26"
Entre ltgt, en la notación de tripletas, porque es
una URI (representa un recurso)
59Otra Utilidad de Blank Nodes
- Evitar el uso de literales en situaciones
inapropiadas - ex2termsbook78354 rdftype
ex2termsBook - ex2termsbook78354 ex2termsauthor "Jane
Smith" - ex2termsbook78354 rdftype
ex2termsBook - ex2termsbook78354 ex2termsauthor
_author78354 - _author78354 rdftype
ex2termsPerson - _author78354 ex2termsname "Jane
Smith"
60Ejemplo RDF/XML
2. Sintaxis basada en XML
lt?xml version"1.0"?gt ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsexterms"http//www.
example.org/terms/"gt ltrdfDescription
rdfabout"http//www.example.org/index.html"gt
ltextermscreation-dategtAugust 16,
1999lt/extermscreation-dategt
lt/rdfDescriptiongt lt/rdfRDFgt
61Elemento rdfDescription (I)
- Un documento RDF es un elemento rdfRDF que
contiene descripciones - Atributos de rdfDescription
- rdfabout (recurso definido en otro sitio)
- rdfID (define el identificador)
- Ejemplo rdfaboutPepe
- rdfIDPepe
62Elemento rdfDescription (II)
- El contenido de rdfDescription son propiedades
(property elements) - Si hay más de uno, tenemos varias declaraciones
con el mismo rdfDescription - Ejemplo
- ltrdfDescription rdfabout"http//www.example.org
/index.html - ltextermscreation-dategtAugust 16,
1999lt/extermscreation-dategt - ltdclanguagegtenlt/dclanguagegt
- lt/rdfDescriptiongt
O varias propiedades dentro de una descripción
63Atributo rdfdatatype
- Para una propiedad, se puede utilizar el atributo
rdfdatatype - Ejemplo
- ltuniage rdfdatatypexsdintegergt27lt/uniagegt
- Para usar la entidad xsd, hay que encabezar el
fichero - (después de la declaración de XML) con
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt
64Atributo rdfresource
- Para propiedades cuyo valor es un
- recurso y no un literal, empleamos el
- atributo rdfresource
- Ejemplo
- ltdccreator rdfresource"http//www.example.org/s
taffid/85740"/gt
No pueden usarse QNames aquí (podrían utilizarse
referencias a entidades XML)
65Propiedad rdftype (I)
- La propiedad rdftype nos permite clasificar las
cosas en clases/tipos - lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02
/22-rdf-syntax-ns" - xmlnsexterms"http//www.example
.com/terms/" - xmlbase"http//www.example.com/
2002/04/products"gt - ltrdfDescription rdfID"item10245"gt
- ltrdftype rdfresource"http//www.exa
mple.com/terms/Tent"/gt - ltextermsmodel rdfdatatype"xsdstri
ng"gtOvernighterlt/extermsmodelgt - ltextermsweight rdfdatatype"xsddecimal"gt
2.4lt/extermsweightgt - ltextermspackedSize
rdfdatatype"xsdinteger"gt784lt/extermspackedSiz
egt - lt/rdfDescriptiongt
66Propiedad rdftype (II)
- Y dónde se definen las clases?
- Tranquilos, esperemos un poco
67Sintaxis Abreviada (I)
- 1. Propiedades que no se repiten dentro de una
- descripción y que tengan valores literales,
pueden - sustituirse por atributos
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org"gt
- ltsPublishergtWorld Wide Web
Consortiumlt/sPublishergt - ltsTitlegtW3C Home Pagelt/sTitlegt
- ltsDategt1998-10-03T0227lt/sDategt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
68Sintaxis Abreviada (I)
- 1. Propiedades que no se repiten dentro de una
- descripción y que tengan valores literales,
pueden - sustituirse por atributos
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org"
- sPublisher"World Wide Web Consortium"
- sTitle"W3C Home Page"
- sDate"1998-10-03T0227"/gt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
69Sintaxis Abreviada (II)
- 2. Las descripciones pueden anidarse y
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org/Home/L
assila"gt - ltsCreator rdfresource"http//www.w3.org/sta
ffId/85740"/gt - lt/rdfDescriptiongt
- ltrdfDescription about"http//www.w3.org/staffI
d/85740"gt - ltvNamegtOra Lassilalt/vNamegt
- ltvEmailgtlassila_at_w3.orglt/vEmailgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
70Sintaxis Abreviada (II)
- 2. Las descripciones pueden anidarse y
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org/Home/L
assila"gt - ltsCreatorgt
- ltrdfDescription about"http//www.w3.org/st
affId/85740"gt - ltvNamegtOra Lassilalt/vNamegt
- ltvEmailgtlassila_at_w3.orglt/vEmailgt
- lt/rdfDescriptiongt
- lt/sCreatorgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
71Sintaxis Abreviada (II)
- 2. la descripción anidada puede representarse
- mediate atributos del elemento padre (cambiar
- about por rdfresource)
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org/Home/L
assila"gt - ltsCreator rdfresource"http//www.w3.org/sta
ffId/85740" - vName"Ora Lassila"
- vEmail"lassila_at_w3.org" /gt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
72Sintaxis Abreviada (III)
- 3. Cuando hay un elemento de tipado en una
descripción, podemos usar el nombre especificado
en rdftype en lugar de rdfDescription - ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synt
ax-ns" - xmlnss"http//description.org/schema/"gt
- ltrdfDescription about"http//www.w3.org/Home/L
assila"gt - ltsCreatorgt
- ltrdfDescription about"http//www.w3.org/st
affId/85740"gt - ltrdftype resource"http//description
.org/schema/Person"/gt - ltvNamegtOra Lassilalt/vNamegt
- ltvEmailgtlassila_at_w3.orglt/vEmailgt
- lt/rdfDescriptiongt
- lt/sCreatorgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
73Sintaxis Abreviada (III)
- 3. Cuando hay un elemento de tipado en una
descripción, podemos usar el nombre especificado
en rdftype en lugar de rdfDescription - ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synt
ax-ns" - xmlnss"http//description.org/schema/"gt
- ltrdfRDFgt
- ltrdfDescription about"http//www.w3.org/Home/L
assila"gt - ltsCreatorgt
- ltsPerson about"http//www.w3.org/staffId/8
5740"gt - ltvNamegtOra Lassilalt/vNamegt
- ltvEmailgtlassila_at_w3.orglt/vEmailgt
- lt/sPersongt
- lt/sCreatorgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/1999/REC-rdf-syntax-19990222
/
74Contenedores RDF (I)
- Tipos
- rdfBag (repetidos, no ordenado)
- rdfSeq (repetidos, ordenado)
- rdfAlt (alternativas)
- Elementos rdf_1, rdf_2, , rdf_n
- rdfli
75Contenedores RDF (II)
"Course 6.001 has the students Amy, Mohamed,
Johann, Maria, and Phuong"
http//www.w3.org/TR/rdf-primer
76Contenedores RDF (III)
- Ejemplo
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/students/voca
b"gt - ltrdfDescription rdfabout"http//example.org/
courses/6.001"gt - ltsstudentsgt
- ltrdfBaggt
- ltrdfli rdfresource"http//example.o
rg/students/Amy"/gt - ltrdfli rdfresource"http//example.o
rg/students/Mohamed"/gt - ltrdfli rdfresource"http//example.o
rg/students/Johann"/gt - ltrdfli rdfresource"http//example.o
rg/students/Maria"/gt - ltrdfli rdfresource"http//example.o
rg/students/Phuong"/gt - lt/rdfBaggt
- lt/sstudentsgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
Sintaxis abreviada (regla 3)
http//www.w3.org/TR/rdf-primer
77Contenedores RDF (IV)
"The source code for X11 may be found at
ftp.example.org, ftp1.example.org, or
ftp2.example.org"
http//www.w3.org/TR/rdf-primer
78Contenedores RDF (V)
- Ejemplo
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/packages/voca
b"gt - ltrdfDescription rdfabout"http//example.org/
packages/X11"gt - ltsDistributionSitegt
- ltrdfAltgt
- ltrdfli rdfresource"ftp//ftp.exampl
e.org"/gt - ltrdfli rdfresource"ftp//ftp1.examp
le.org"/gt - ltrdfli rdfresource"ftp//ftp2.examp
le.org"/gt - lt/rdfAltgt
- lt/sDistributionSitegt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
Podríamos asignarle un identificador con rdfID
http//www.w3.org/TR/rdf-primer
79Contenedores RDF (VI)
- Se os ocurre ahora alguna otra solución para
representar lo siguiente? resultado(Zaragoza, x,
Barcelona, y)
80Contenedores RDF (VII)
- Limitación no se pueden cerrar
- No dice que otros no sean miembros
- Otro grafo RDF puede añadir miembros
- Solución colecciones RDF
- Tipo rdfList
- Propiedades rdffirst, rdfrest
- Recurso rdfnil (lista vacía)
81Contenedores RDF (VIII)
"Course 6.001 has the students Amy, Mohamed,
Johann, Maria, and Phuong"
"The students in course 6.001 are Amy, Mohamed,
and Johann"
82Contenedores RDF (IX)
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/students/voca
b"gt - ltrdfDescription rdfabout"http//example.org/cou
rses/6.001"gt - ltsstudents rdfnodeID"sch1"/gt
- lt/rdfDescriptiongt
- ltrdfDescription rdfnodeID"sch1"gt
- ltrdffirst rdfresource"http//example.org/stu
dents/Amy"/gt - ltrdfrest rdfnodeID"sch2"/gt
- lt/rdfDescriptiongt
- ltrdfDescription rdfnodeID"sch2"gt
- ltrdffirst rdfresource"http//example.org/stu
dents/Mohamed"/gt - ltrdfrest rdfnodeID"sch3"/gt
- lt/rdfDescriptiongt
- ltrdfDescription rdfnodeID"sch3"gt
- ltrdffirst rdfresource"http//example.org/stu
dents/Johann"/gt - ltrdfrest rdfresource"http//www.w3.org/1999/
02/22-rdf-syntax-nsnil"/gt - lt/rdfDescriptiongt
- lt/rdfRDFgt
Notación larga
http//www.w3.org/TR/rdf-primer
83Contenedores RDF (X)
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/students/voca
b"gt - ltrdfDescription rdfabout"http//example.org/
courses/6.001"gt - ltsstudents rdfparseType"Collection"gt
- ltrdfDescription rdfabout"http//exa
mple.org/students/Amy"/gt - ltrdfDescription rdfabout"http//exa
mple.org/students/Mohamed"/gt - ltrdfDescription rdfabout"http//exa
mple.org/students/Johann"/gt - lt/sstudentsgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
Notación abreviada rdfparseType"Collection"
http//www.w3.org/TR/rdf-primer
84Reification (I)
- Tipo
- rdfStatement
- Propiedades
- rdfsubject
- rdfpredicate
- rdfobject
85Reification (II)
http//www.w3.org/TR/rdf-primer
86Reification (III)
- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnsdc"http//purl.org/dc/elements/
1.1/" - xmlnsexterms"http//www.example.com/
terms/" - xmlbase"http//www.example.com/2002/
04/products"gt - ltrdfDescription rdfID"item10245"gt
- ltextermsweight rdfdatatype"xsddecimal"gt2
.4lt/extermsweightgt - lt/rdfDescriptiongt
- ltrdfStatement rdfabout"triple12345"gt
- ltrdfsubject rdfresource"http//www.example
.com/2002/04/productsitem10245"/gt - ltrdfpredicate rdfresource"http//www.examp
le.com/terms/weight"/gt - ltrdfobject rdfdatatype"xsddecimal"gt2.4lt/
rdfobjectgt - ltdccreator rdfresource"http//www.example.
com/staffid/85740"/gt - lt/rdfStatementgt
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
87Propiedad rdfvalue (I)
- Para definir propiedades compuestas referentes a
medidas (Ej. peso 2 Kg) - Valores estructurados
- rdfvalue representa el valor (20)
- Otra propiedad representa la unidad de medida
88Propiedad rdfvalue (II)
- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnsexterms"http//www.example.org/
terms/"gt - ltrdfDescription rdfabout"http//www.example.c
om/2002/04/productsitem10245"gt - ltextermsweight rdfparseType"Resource"gt
- ltrdfvalue rdfdatatype"xsddecimal"gt2.4lt
/rdfvaluegt - ltextermsunits rdfresource"http//www.exa
mple.org/units/kilograms"/gt - lt/extermsweightgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
89Literales XML
lt?xml version"1.0"?gt ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsdc"http//purl.org/dc/ele
ments/1.1/" xmlbase"http//www.examp
le.com/books"gt ltrdfDescription
rdfID"book12345"gt ltdctitle
rdfparseType"Literal"gt ltspan
xmllang"en"gt The ltemgtltbr /gtlt/emgt
Element Considered Harmful. lt/spangt
lt/dctitlegt lt/rdfDescriptiongt lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
90Espacios de Nombres
- En XML para desambiguar
- En RDF documentos RDF que definen recursos
91Otras Sintaxis
- Como RDF/XML no hay quien lo use
- Los procesadores de RDF nos lo ocultan
- Otras sintaxis (de tripletas)
- N3 (propuesto por Tim Berners-Lee y Dan
Connolly) ltsubjectgt ltpredicategt ltobjectgt . - N-triples
- Similar a N3
- Transmitible en formato MIME
- La nuestra (más informal)
92Introducción a RDFS (I)
3. RDF Schema (RDFS)
- RDF
- Independiente del dominio
- Describe recursos (objetos individuales)
- RDFS
- Permite la definición de vocabularios para
distintos dominios (de qué queremos hablar?) - Describe clases
rdftype
93Introducción a RDFS (II)
- Objetivo imponer restricciones en las sentencias
- Web Semántica la imparte Servicios Web
- El seminario 25 lo imparte Eduardo Mena
- Restricciones
- De rango valores de la propiedad
- De dominio objetos a los cuales puede aplicarse
la propiedad
94Introducción a RDFS (III)
- RDFS permite definir
- Jerarquías de clases (herencia múltiple)
- Jerarquías de propiedades
- Es posible añadir nuevas propiedades sin cambiar
la clase - RDFS es un lenguaje de ontologías primitivo
95Introducción a RDFS (IV)
- Las primitivas de RDFS se definen utilizando RDF
(recursos y propiedades) - Un documento RDFS es un documento RDF (sintaxis
RDF/XML)
96Clases Básicas de RDFS
- rdfsResource
- rdfsClass
- rdfsLiteral (cadenas de caracteres)
- rdfProperty
- rdfStatement (sentencias reified)
97Propiedades Básicas de RDFS
- rdftype
- rdfssubclassOf
- rdfssubPropertyOf
- rdfsdomain (sujetos posibles)
- rdfsrange (objetos posibles)
- rdfsConstraintResource
- rdfsConstraintProperty
Definir relaciones
transitivas
Restringir propiedades
instancias
subclase
98Propiedades para Reification
- rdfsubject
- rdfpredicate
- rdfobject
99Clases Contenedoras
- rdfBag
- rdfSeq
- rdfAlt
- rdfsContainer (superclase)
100Propiedades de Utilidad
- rdfsseeAlso (explicación)
- rdfsisDefinedBy (definición esquema)
- rdfscomment
- rdfslabel (nombre)
Vínculos con otras direcciones
subpropiedad
Información para personas
101Nótese que
- rdfsClass es subclase de rdfsResource
- rdfsResource es instancia de rdfsClass
- Toda clase es instancia de rdfsClass
102Ejemplo Jerarquía de Clases
http//www.w3.org/TR/rdf-primer
103Ejemplo Jerarquía de Clases
- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synt
ax-ns" - xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema
" - xmlbase"http//example.org/schemas/vehicles"gt
- ltrdfDescription rdfID"MotorVehicle"gt
- ltrdftype rdfresource"http//www.w3.org/2000/0
1/rdf-schemaClass"/gt - lt/rdfDescriptiongt
-
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
104Ejemplo Jerarquía de Clases
Versión con sintaxis abreviada
- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synt
ax-ns" - xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema
" - xmlbase"http//example.org/schemas/vehicles"gt
- ltrdfsClass rdfID"MotorVehicle"/gt
- ltrdfsClass rdfID"PassengerVehicle"gt
- ltrdfssubClassOf rdfresource"MotorVehicle"/gt
- lt/rdfsClassgt
-
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
105Ejemplo D escripciones de Propiedades
- ltrdfProperty rdfID"registeredTo"gt
- ltrdfsdomain rdfresource"MotorVehicle"/gt
- ltrdfsrange rdfresource"Person"/gt
- lt/rdfPropertygt
- ltrdfProperty rdfID"rearSeatLegRoom"gt
- ltrdfsdomain rdfresource"PassengerVehicle"/gt
- ltrdfsrange rdfresource"xsdinteger"/gt
- lt/rdfPropertygt
- ltrdfsClass rdfID"Person"/gt
- ltrdfsDatatype rdfabout"xsdinteger"/gt
http//www.w3.org/TR/rdf-primer
106Ejemplo Jerarquías de Propiedades
- ltrdfProperty rdfID"driver"gt
- ltrdfsdomain rdfresource"MotorVehicle"/gt
- lt/rdfPropertygt
- ltrdfProperty rdfID"primaryDriver"gt
- ltrdfssubPropertyOf rdfresource"driver"/gt
- lt/rdfPropertygt
http//www.w3.org/TR/rdf-primer
107Ejemplo de Instancia
- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt - ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnsex"http//example.org/schemas/v
ehicles" - xmlbase"http//example.org/things"gt
- ltexPassengerVehicle rdfID"johnSmithsCar"gt
- ltexregisteredTo rdfresource"http//www.e
xample.org/staffid/85740"/gt - ltexrearSeatLegRoom
- rdfdatatype"xsdinteger"gt127lt/exrea
rSeatLegRoomgt - ltexprimaryDriver rdfresource"http//www.
example.org/staffid/85740"/gt - lt/exPassengerVehiclegt
- lt/rdfRDFgt
http//www.w3.org/TR/rdf-primer
108RDF Schema en RDF/XML
4. Definición de RDF y RDFS
(Sólo algunos fragmentos, http//www.w3.org/TR/rd
f-schema)
109RDF Schema en RDF/XML
(Sólo algunos fragmentos, http//www.w3.org/TR/rd
f-schema)
Nos hace falta algo más, aparte de este tipo de
declaraciones?
110Semántica (I)
4. Semántica e Inferencias
- Hace falta definir la semántica de las primitivas
de modelado de RDF y RDFS - Lenguaje formal lógica de predicados
- Objetivos
- Quitamos la ambigüedad
- Permitimos razonamiento automático
111Semántica (II)
- Se utilizan para la definición funciones de
listas nil, cons(x, l), first(l), rest(l) - Y predicados item(x, l), list(l)
- Los nombres de variables empiezan con ?
112Semántica (III)
- Ejemplos
- Type(?c, Container) -gt (Type(?c, Bag) v Type(?c,
Seq) v Type(?c, Alt)) - PropVal(subClassOf, ?c, ?c) lt-
- (Type(?c, Class) Type(?c, Class)
- forall (?x(Type(?x, ?c) -gt Type(?x, ?c)))
Ver documento RDF Semantics (http//www.w3.org/T
R/2004/REC-rdf-mt-20040210/)
113Inferencias (I)
- Razonar con el sistema axiomático anterior
requeriría un procesador de lógica de primer
orden - Requerimiento muy grande
- Gran coste computacional!
114Inferencias (II)
- Ejemplos
- IF E contiene las tripletas (?u, rdfssubClassOf,
?v) y - (?v,
rdfssubClassOf, ?w) - THEN E también contiene la tripleta (?u,
rdfssubClassOf, ?w) - IF E contiene las tripletas (?x, ?p, ?y) y
- (?p,
rdfsrange, ?u) - THEN E también contiene la tripleta (?y,
rdftype, ?u)
Con unas cuantas reglas de este estilo podemos
implementar eficientemente un razonador (ver
sección 7. Entailment rules (Informative) en el
documento RDF Semantics (http//www.w3.org/TR/r
df-mt)
115Motivación (I)
6. Lenguajes de Consulta
- RDF es XML
- Y podemos consultar XML usando XPath/XQuery
- Hace falta un lenguaje de consulta específico
para RDF?
116Motivación (II)
- Sí, pues XML es de más bajo nivel
- Podemos representar la misma sentencia RDF de
distintas formas usando XML - Según la estructura, usaríamos una consulta XPath
u otra - //unilecturer/unititle si unititle es elemento
- //unilecturer/_at_unititle si unititle es atributo
117Motivación (III)
- Por tanto, haría falta un lenguaje de consultas
específico - Que entienda la sintaxis y el modelo de datos de
RDF - Sensible a la semántica de RDFS
- Ej. si preguntamos por instancias de la
superclase, que nos devuelva también de la
subclase) - No estándar RQL, RDQL, SPARQL, etc.
como ejemplo
118Consultas Básicas RQL (I)
- Class (todas las clases)
- Property (todas las propiedades)
- clase (instancias de la clase clase)
- clase (sólo las instancias directas)
119Consultas Básicas RQL (II)
- propiedad (recursos y valores con la propiedad
propiedad ) - propiedad (no considera subpropiedades de
propiedad )
120RQL Consultas Tipo SQL (I)
- Recuperar los números de teléfono
- select X,Y
- from XphoneY
- Recuperar los números de teléfono de los
profesores (join implícito) - select X,Y
- from teachersX.phoneY
121RQL Consultas Tipo SQL (II)
- Nombres de cursos impartidos por el profesor de
nombre 949352 (join explícito) - select N
- from courseX.isTaughtByY, CnameN
- where Y"949352" and XC
122RQL Consultar el Esquema (I)
- Variables de esquema
- Prefijo para clases
- Prefijo _at_ para propiedades
123RQL Consultar el Esquema (II)
- Ejemplo
- select domain(_at_P),range(_at_P)
- from _at_P
- where _at_Pphone
- Ejemplo
- select X,X,Y,Y
- from XXphoneYY
124Conclusiones (I)
- RDF tiene un modelo de datos basado en grafo
- RDF consta de sentencias (tripletas
recurso-propiedad-valor) - RDF está descentralizado, permite compartir y
construir conocimiento de forma incremental - RDFS define vocabularios para RDF
125Conclusiones (II)
- Existen diversos lenguajes de consultas para RDF
y RDFS - RDF tiene algunas limitaciones
- No permite definir clases a partir de otras
- No puede negar sentencias
- etc.
126Conclusiones (III)
- Haría falta enriquecer RDFS con un lenguaje de
ontologías más potente para la web semántica
127Referencias (I)
- Resource Description Framework (RDF) Concepts
and Abstract Syntax, W3C Recommendation 10
February 2004, http//www.w3.org/TR/rdf-concepts/ - RDF Vocabulary Description Language 1.0 RDF
Schema, W3C Recommendation 10 February 2004,
http//www.w3.org/TR/rdf-schema/ - RDF Semantics, W3C Recommendation 10 February
2004, http//www.w3.org/TR/rdf-mt/ - RDF/XML Syntax Specification (Revised), W3C
Recommendation 10 February 2004,
http//www.w3.org/TR/rdf-syntax-grammar/
128Referencias (II)
- RDF Primer, W3C Recommendation 10 February 2004,
http//www.w3.org/TR/rdf-primer/ - An Axiomatic Semantics for RDF, RDF-S, and
DAMLOIL, Richard Fikes and Deborah L McGuinness,
March 1, 2001, http//www.daml.org/2001/03/axiomat
ic-semantics.html - The RDF Query Language (RQL), http//139.91.183.30
9090/RDF/RQL/ - RDF Validation Service, http//www.w3.org/RDF/Vali
dator/ - Sesame RQL a Tutorial, http//www.openrdf.org/doc
/rql-tutorial.html
129Referencias (III)
- RQL v2.1 User Manual, http//139.91.183.309090/RD
F/RQL/Manual.html - SPARQL Query Language for RDF, W3C Working Draft
26 March 2007, http//www.w3.org/TR/rdf-sparql-que
ry/ - XML Schema Part 2 Datatypes Second Edition, W3C
Recommendation 28 October 2004,
http//www.w3.org/TR/xmlschema-2/ - A Semantic Web Primer, Grigoris Antoniou and
Frank van Harmelen, The MIT Press, Cambridge,
Massachusetts, London, England,
http//www.ics.forth.gr/isl/swprimer/ (con
transparencias) - Share your RDF Data with the World!,
http//pingthesemanticweb.com/
130Referencias (IV)
- OWL Reasoning Examples, http//owl.man.ac.uk/2003/
why/latest/
131El Lenguaje de Ontologías OWL
- Máster en Servicios Web y Comercio Electrónico
- Curso 2006/2007
- Curso de Web Semántica
- Sergio Ilarri Artigas
- silarri_at_unizar.es
132Índice
- Introducción motivación y versiones
- El lenguaje OWL
- Cabeceras
- Clases
- Propiedades
- Clases Complejas
- Instancias
- Tipos de datos
- Conclusiones
133Motivación (I)
1. Introducción
- RDF
- Predicados binarios
- RDFS (sencillo lenguaje de ontologías)
- Jerarquías de clases
- Jerarquías de propiedades
- Definiciones de rango y dominio
Permite asociar algo de semántica a los
identificadores
134Motivación (II)
- Web Ontology Working Group (W3C)
- Por ejemplo, en RDFS no podemos
- Decir que Person y Car son clases disjuntas
- Decir que un cuarteto de música tiene 4 músicos
Se necesita más expresividad
135Motivación (III)
- Alternativas
- DAMLOIL (Europa Estados Unidos)
- DAML-ONT (propuesta de Estados Unidos)
- OIL (propuesta europea)
- OWL
- Web Ontology Language
- Basado en DAMLOIL
Construidos sobre RDF y RDFS (misma sintaxis)
136Limitaciones de RDFS
- No clases disjuntas
- male y female
- No restricciones de cardinalidad
- una persona tiene 2 padres
- No modificadores de propiedades
- transitiva (lt)
- única (hasPrimaryEmployer)
- inversa (writes y is written by)
- No clases por combinación
- person male U female
- No restricciones de propiedades (rango y dominio)
locales a una clase
137Requerimientos
- Un lenguaje de ontologías debe proporcionar
- Una sintaxis RDF/XML (farragosa)
- Una semántica (conocimiento)
- Soporte para un razonamiento eficiente
- Potencia expresiva
Transformación a un formalismo lógico uso de
razonadores
subconjunto de lógica de predicados
FaCT()