Sergio Ilarri Artigas (silarri@unizar.es) - PowerPoint PPT Presentation

About This Presentation
Title:

Sergio Ilarri Artigas (silarri@unizar.es)

Description:

La 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 ... – PowerPoint PPT presentation

Number of Views:192
Avg rating:3.0/5.0
Slides: 199
Provided by: car5190
Category:

less

Transcript and Presenter's Notes

Title: Sergio Ilarri Artigas (silarri@unizar.es)


1
La 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

3
Guió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.

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

5
La Web actual. Problemas de la Web orientada a
humanos
6
La 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
7
La 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.

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

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

10
La 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?

11
Reflexió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.

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

13
Propuesta 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

14
Propuesta 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

15
Propuesta 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

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

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

18
Propuesta de arquitectura para la Web Semántica
19
Propuesta 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.

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

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

22
Propuesta 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
23
Propuesta 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

24
Propuesta 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é)

25
Propuesta 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

26
Propuesta 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
27
Propuesta 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).

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

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

30
Propuesta 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)

31
RDF 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
  1. El modelo de datos de RDF
  2. Sintaxis basada en XML
  3. RDF Schema (RDFS)
  4. Definición de RDF y RDFS
  5. Semántica e Inferencias
  6. Lenguajes de consulta. Ej. RQL
  7. Conclusiones

33
Definiciones 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)

34
Definiciones 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)

35
Definiciones 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

36
Definiciones 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)

37
Representació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
38
Representació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
39
Representación Sentencias (III)
  • El valor de una sentencia puede ser un recurso o
    un valor

http//www.w3.org/TR/rdf-primer
40
Representació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
41
Reification
  • 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...
42
Literales 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
43
Literales 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
44
Literales 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

45
Tipos Datos XML Schema (I)
http//www.w3.org/TR/xmlschema-2/
46
Tipos 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
47
Abreviaturas 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

48
Abreviaturas 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/
49
Só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
50
Estructuras 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.)

51
Estructuras Agregadas (II)
Considerar el agregado como un recurso y declarar
sentencias sobre dicho recurso
http//www.w3.org/TR/rdf-primer/
52
Estructuras Agregadas (III)
  • El problema es que podemos generar URIs
    intermedias que no se referencien nunca
  • Alguna solución?

53
Estructuras Agregadas (IV)
  • Podemos utilizar blank nodes (b-nodes)

Son recursos anónimos
http//www.w3.org/TR/rdf-primer/
54
Estructuras 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/
55
Estructuras Agregadas (VI)
  • Qué problema tiene lo anterior?

56
Estructuras 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/
57
Otra 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

58
Ejemplo 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)
59
Otra 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"

60
Ejemplo 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
61
Elemento 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

62
Elemento 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
63
Atributo 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

64
Atributo 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)
65
Propiedad 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

66
Propiedad rdftype (II)
  • Y dónde se definen las clases?
  • Tranquilos, esperemos un poco

67
Sintaxis 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
/
68
Sintaxis 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
/
69
Sintaxis 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
/
70
Sintaxis 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
/
71
Sintaxis 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
/
72
Sintaxis 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
/
73
Sintaxis 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
/
74
Contenedores RDF (I)
  • Tipos
  • rdfBag (repetidos, no ordenado)
  • rdfSeq (repetidos, ordenado)
  • rdfAlt (alternativas)
  • Elementos rdf_1, rdf_2, , rdf_n
  • rdfli

75
Contenedores RDF (II)
  • Ejemplo

"Course 6.001 has the students Amy, Mohamed,
Johann, Maria, and Phuong"
http//www.w3.org/TR/rdf-primer
76
Contenedores 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
77
Contenedores RDF (IV)
  • Ejemplo

"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
78
Contenedores 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
79
Contenedores RDF (VI)
  • Se os ocurre ahora alguna otra solución para
    representar lo siguiente? resultado(Zaragoza, x,
    Barcelona, y)

80
Contenedores 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)

81
Contenedores 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"
82
Contenedores 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
83
Contenedores 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
84
Reification (I)
  • Tipo
  • rdfStatement
  • Propiedades
  • rdfsubject
  • rdfpredicate
  • rdfobject

85
Reification (II)
http//www.w3.org/TR/rdf-primer
86
Reification (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
87
Propiedad 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

88
Propiedad 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
89
Literales 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
90
Espacios de Nombres
  • En XML para desambiguar
  • En RDF documentos RDF que definen recursos

91
Otras 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)

92
Introducció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
93
Introducció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

94
Introducció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

95
Introducció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)

96
Clases Básicas de RDFS
  • rdfsResource
  • rdfsClass
  • rdfsLiteral (cadenas de caracteres)
  • rdfProperty
  • rdfStatement (sentencias reified)

97
Propiedades Básicas de RDFS
  • rdftype
  • rdfssubclassOf
  • rdfssubPropertyOf
  • rdfsdomain (sujetos posibles)
  • rdfsrange (objetos posibles)
  • rdfsConstraintResource
  • rdfsConstraintProperty

Definir relaciones
transitivas
Restringir propiedades
instancias
subclase
98
Propiedades para Reification
  • rdfsubject
  • rdfpredicate
  • rdfobject

99
Clases Contenedoras
  • rdfBag
  • rdfSeq
  • rdfAlt
  • rdfsContainer (superclase)

100
Propiedades de Utilidad
  • rdfsseeAlso (explicación)
  • rdfsisDefinedBy (definición esquema)
  • rdfscomment
  • rdfslabel (nombre)

Vínculos con otras direcciones
subpropiedad
Información para personas
101
Nótese que
  • rdfsClass es subclase de rdfsResource
  • rdfsResource es instancia de rdfsClass
  • Toda clase es instancia de rdfsClass

102
Ejemplo Jerarquía de Clases
http//www.w3.org/TR/rdf-primer
103
Ejemplo 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
104
Ejemplo 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
105
Ejemplo 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
106
Ejemplo 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
107
Ejemplo 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
108
RDF Schema en RDF/XML
4. Definición de RDF y RDFS
(Sólo algunos fragmentos, http//www.w3.org/TR/rd
f-schema)
109
RDF 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?
110
Semá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

111
Semá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 ?

112
Semá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/)
113
Inferencias (I)
  • Razonar con el sistema axiomático anterior
    requeriría un procesador de lógica de primer
    orden
  • Requerimiento muy grande
  • Gran coste computacional!

114
Inferencias (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)
115
Motivació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?

116
Motivació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

117
Motivació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
118
Consultas Básicas RQL (I)
  • Class (todas las clases)
  • Property (todas las propiedades)
  • clase (instancias de la clase clase)
  • clase (sólo las instancias directas)

119
Consultas Básicas RQL (II)
  • propiedad (recursos y valores con la propiedad
    propiedad )
  • propiedad (no considera subpropiedades de
    propiedad )

120
RQL 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

121
RQL 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

122
RQL Consultar el Esquema (I)
  • Variables de esquema
  • Prefijo para clases
  • Prefijo _at_ para propiedades

123
RQL 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

124
Conclusiones (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

125
Conclusiones (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.

126
Conclusiones (III)
  • Haría falta enriquecer RDFS con un lenguaje de
    ontologías más potente para la web semántica

127
Referencias (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/

128
Referencias (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

129
Referencias (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/

130
Referencias (IV)
  • OWL Reasoning Examples, http//owl.man.ac.uk/2003/
    why/latest/

131
El 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
  1. Introducción motivación y versiones
  2. El lenguaje OWL
  3. Cabeceras
  4. Clases
  5. Propiedades
  6. Clases Complejas
  7. Instancias
  8. Tipos de datos
  9. Conclusiones

133
Motivació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
134
Motivació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
135
Motivació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)
136
Limitaciones 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

137
Requerimientos
  • 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()
Write a Comment
User Comments (0)
About PowerShow.com