introducción a la web semánticamercedes/websem/fileswebsemvalladolid/rdf... · la relación...

33
Introducción a la Web Semántica Web Semántica Universidad de Valladolid Curso 2016-2017 M. Mercedes Martínez Dep. Informática (U. Valladolid, España)

Upload: others

Post on 26-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Introducción a la Web Semántica

Web Semántica Universidad de Valladolid

Curso 2016-2017M. Mercedes Martínez

Dep. Informática (U. Valladolid, España)

Page 2: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema

Page 3: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

3

RDF Schema (RDFS) RDF Schema permite construir vocabularios sobre

RDF Permite representar ontologías simples, lo cual facilitó su

adopción por la comunidad investigadora

En febrero de 2004 se estabilizó como unaRecomendación del W3C bajo la denominación RDFVocabulary Description Language

Se corresponde con una de las capas de lapropuesta hecha por Berners-Lee

M. Mercedes Martínez

Page 4: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

4

RDF Schema

“XML Schema constrains the structure of XMLdocuments, whereas RDF Schema defines thevocabulary used in RDF data models. In RDFS wecan define the vocabulary, specify which propertiesapply to which kinds of objects and what values theycan take, and describe the relationships betweenobjects.” [Antoniou04, pgna. 62]

M. Mercedes Martínez

Page 5: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema Permite definir clases

Clases: Definen tipos de objetos, conjuntos de elementos

Cada elemento de una clase es una instancia de la clase

La relación entre una instancia de una clase y la clase a la que pertenece se expresa en RDF/XML mediante la propiedad rdf:type

5M. Mercedes Martínez

Page 6: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema Las clases se relacionan mediante propiedades

Permite caracterizar en cada propiedad un rango y un dominio: Rango: conjunto de valores que puede tomar Dominio: conjunto de objetos para los cuales es aplicable

(tiene sentido)

Sirve para delimitar lo que se puede afirmar en un documento RDF Se reconocen sentencias que no tienen sentido

7M. Mercedes Martínez

Page 7: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Restricciones de dominio y rango La caracterización del dominio y rango de una clase

permite caracterizar sentencias sin sentido

Ejemplos:

‘Discrete Mathematics is taught by Concrete Mathematics’

‘Room MH4564 is taught by David Billington’

8M. Mercedes Martínez

Problema: Los cursos sólo los pueden enseñardocentes (lecturers) Restricción del RANGO dela propiedad is taught by

Problema: Sólo se pueden enseñar cursos(courses) Restricción del DOMINIO de lapropiedad is taught by

Page 8: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Jerarquía de clases en RDF Schema

Se establece una jerarquía de clases entre subclasesy superclases (subsumpción) A es subclase de B si cualquier instancia de A lo es también

de B

Una subclase hereda de sus superclases sus propiedades

9M. Mercedes Martínez

Page 9: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Jerarquía de clases en RDF Schema

Se establece una jerarquía de clases entre subclasesy superclases (subsumpción) Una subclase puede serlo de más de una superclase (más

de un padre): Si A es subclase de B y C, entonces todas las instancias de A lo son también de B y de C.

10M. Mercedes Martínez

Page 10: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Jerarquía de propiedades en RDF Schema

En RDF Schema también se puede establecer una jerarquía entre subpropiedades y superpropiedades

Ejemplo: ‘is taught by’ es una subpropiedad de ‘involves’: Si un curso C es

impartido por el docente D, entonces C implica (involves) a D

La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso C por su trabajo de tutor de alumnos (C involves P), pero no imparte docencia en C (C is taught by P)

En general, P es subpropiedad de Q si Q(x,y) es cierto siempre que P(x,y) es cierto

11M. Mercedes Martínez

Page 11: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Jerarquía de clases y propiedades en RDF Schema

RDF Schema fija la semántica de ‘ser subclase de’ y ‘ser subpropiedad de’

RDF Schema es un lenguaje de ontologías primitivo Ver sus limitaciones más adelante

12M. Mercedes Martínez

Page 12: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDFS y la programación OO Comparten el concepto de clase y propiedades

Se diferencia en la forma de asociar propiedades a las clases En la programación OO las propiedades se definen junto a la clase;

definir nuevas propiedades implica modificar la clase En RDF Schema las propiedades no se encapsulan como atributos

en la definición de la clase, sino que se definen de modo global; se pueden definir nuevas propiedades aplicables a una clase sin modificar la clase Consecuencia: es posible utilizar clases definidas por otros y

adaptarlas a nuestras necesidades definiendo nuevas propiedades

15M. Mercedes Martínez

Page 13: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

17

Primitivas de RDF Schema

rdfs: Resource rdfs: Class rdfs: Literal rdf: Property rdfs: Statement

rdfs: subClassOf rdfs: subPropertyOf rdfs: domain rdfs: range

<rdfs:Class rdf:about=“catedrático”><rdfs:subClassOf rdf:resource=“profesor”/>

</rdfs:Class>

M. Mercedes Martínez

Page 14: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Primitivas de RDFS: ClasesELEMENT CLASS OF SUBCLASS OF

rdfs:Class All classes

rdfs:Datatype Data types Class

rdfs:Resource All resources Class

rdfs:Container Containers Resource

rdfs:Literal Literal values (text and numbers)

Resource

rdf:List Lists Resource

rdf:Property Properties Resource

rdf:Statement Statements Resource

rdf:Alt Containers of alternatives Container

rdf:Bag Unordered containers Container

rdf:Seq Ordered containers Container

rdfs:ContainerMembershipProperty Container membership properties

Property

rdf:XMLLiteral XML literal values Literal

( Fuente: [W3C RDF Tutorial])18M. Mercedes Martínez

Page 15: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Primitivas de RDFS: Propiedades (I)

ELEMENT DOMAIN RANGE DESCRIPTION

rdfs:domain Property Class The domain of a resource

rdfs:range Property Class The range of a resource

rdfs:subPropertyOf Property Property The property is a subproperty of a property

rdfs:subClassOf Class Class The resource is a subclass of a class

rdfs:comment Resource Literal The human readable description of the resource

rdfs:label Resource Literal The human readable label (name) of the resource

rdfs:isDefinedBy Resource Resource The definition of the resource

rdfs:seeAlso Resource Resource The additional information about the resource

rdfs:member Resource Resource The member of the resource

( Fuente: [W3C RDF Tutorial])

19M. Mercedes Martínez

Page 16: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Primitivas de RDFS: Propiedades (II)

ELEMENT DOMAIN RANGE DESCRIPTION

rdf:first List Resource

rdf:rest List List

rdf:subject Statement Resource The subject of the resource in an RDF Statement

rdf:predicate Statement Resource The predicate of the resource in an RDF Statement

rdf:object Statement Resource The object of the resource in an RDF Statement

rdf:value Resource Resource The property used for values

rdf:type Resource Class The resource is an instance of a class

( Fuente: [W3C RDF Tutorial])

20M. Mercedes Martínez

Page 17: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Primitivas de RDFS: Atributos

ELEMENT DOMAIN RANGE DESCRIPTION

rdf:about List Resource Defines the resource being described

rdf:Description Container for the description of a resource

rdf:resource Defines a resource to identify a property

rdf:datatype Defines the data type of an element

rdf:ID Defines the ID of an element

rdf:li Defines a list

rdf:_n Defines the ID of an element node

rdf:nodeID Defines the ID of an element node

rdf:parseType Defines how an element should be parsed

rdf:RDF The root of an RDF document

xml:base Defnes the XML base

xml:lang Defines the language of the element content

( Fuente: [W3C RDF Tutorial])

21M. Mercedes Martínez

Page 18: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

22

Aspectos relevantes de las primitivas

Todas las clases son recursos (tienen una URI) rdfs:Resource: Clase de todos los recursos rdfs:Class: Clase de todas las clases

M. Mercedes Martínez

<rdf:Description rdf:ID="animal"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

Page 19: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema: Un ejemplo (I)

<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

<rdf:Description rdf:ID="horse"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:subClassOf rdf:resource="#animal"/>

</rdf:Description>

</rdf:RDF>

(Extraído de [W3C RDF Tutorial. http://www.w3schools.com/RDF/])

Se define el recurso ‘horse’ como una subclase de la clase ‘animal’

23M. Mercedes Martínez

Page 20: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema: Un ejemplo (II)

<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal” />

<rdfs:Class rdf:ID="horse"><rdfs:subClassOf rdf:resource="#animal"/>

</rdfs:Class>

</rdf:RDF>

(Extraído de [W3C RDF Tutorial. http://www.w3schools.com/RDF/])

Se define el recurso ‘horse’ como una subclase de la clase ‘animal’

Se abrevia la sintaxis usando rdfs:Class en lugar de rdf:Description. Posible porque una clase RDFS es un recurso RDF.

24M. Mercedes Martínez

Page 21: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema y RDF: Ejemplo 2

(Fuente: [Antoniou04])

Ontología e instancias para representar los cursos y docentes de una universidad

25M. Mercedes Martínez

Page 22: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema: Ejemplo 2 (I)

<?xml version="1.0"?><rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdfs:Class rdf:ID="lecturer"><rdfs:comment>The class of lecturersAll lecturers are academic staff members.</rdfs:comment><rdfs:subClassOf rdf:resource="#academicStaffMember"/>

</rdfs:Class><rdfs:Class rdf:ID="course">

<rdfs:comment>The class of courses</rdfs:comment></rdfs:Class>…

(Fuente: [Antoniou04])

Se definen las clases ‘lecturer’, ‘course’ y la propiedad ‘’involves’ que las vincula

26M. Mercedes Martínez

Page 23: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema: Ejemplo 2 (II)

…<rdf:Property rdf:ID="involves">

<rdfs:comment>It relates only courses to lecturers.</rdfs:comment><rdfs:domain rdf:resource="#course"/><rdfs:range rdf:resource="#lecturer"/>

</rdf:Property>

(Fuente: [Antoniou04])

Se definen las clases ‘lecturer’, ‘course’ y la propiedad ‘’involves’ que las vincula

27M. Mercedes Martínez

Page 24: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

RDF Schema: Ejemplo 2 (III) Jerarquía de propiedades

…<rdf:Property rdf:ID=”isTaughtBy">

<rdfs:subPropertyOf rdf:resource="#involves"/></rdf:Property>

(Fuente: [Antoniou04])

Se define la propiedad ‘isTaughtBy’ como una subpropiedad de ’involves’’

28M. Mercedes Martínez

Page 25: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

¿Qué más necesitamos? Decir que cualquier instancia de una clase lo es también de sus

superclases ‘Grigoris Antoniou’ es un ‘catedrático’; Un ‘catedrático’ es un

‘docente’ ‘Grigoris Antoniou’ es un ‘docente’

Aplicar la transitividad entre subclases (si U es subclase de V yésta lo es de W, entonces U es subclase de W) Un ‘catedrático’ es un ‘profesor’; Un ‘profesor’ es ‘personal de

plantilla’ Un ‘catedrático’ es ‘personal de plantilla’

Si un recurso y aparece como valor de una propiedad cuyorango es la clase U, es porque y es una instancia de la clase U Si ‘Grigoris Antoniou’ es el valor que toma la propiedad ‘impartido

por’ en una tripleta y el rango de la propiedad ‘impartido por’ es‘docente’ ‘Grigoris Antoniou’ es un ‘docente’

29M. Mercedes Martínez

Page 26: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Inferencia con RDF Schema Algunos ejemplos:

Si E contiene la terna (?x, ?p, ?y) ENTONCES E también contiene la terna (?p, rdf:type, rdf:property) (Discrete Mathematics, isTaughtBy, Grigoris Antoniou)

(isTaughtBy, rdf:type, rdf:property)

Si E contiene las ternas (?u,rdfs:subClassOf, ?v)y (?v, rdfs:subClassOf, ?w)

ENTONCES E también contiene la terna (?u, rdfs:subClassOf, ?w) (professor, rdfs:subClassOf, academic staff member) (academic staff member, rdfs:subClassOf, staff member)

(professor, rdfs:subClassOf, staff member)

30M. Mercedes Martínez

Page 27: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Inferencia con RDF Schema Algunos ejemplos:

Si E contiene las ternas (?x, rdf:type, ?u)y (?u, rdfs:subClassOf, ?v)

ENTONCES E también contiene la terna (?x, rdf:type, ?v)

(Grigoris Antoniou, rdf:type, professor) (professor, rdfs:subClassOf, academic staff member)

(Grigoris Antoniou, rdf:type, academic staff member)

31M. Mercedes Martínez

Page 28: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Inferencia con RDF Schema Algunos ejemplos:

Si E contiene las ternas (?x, ?p, ?y)y (?p, rdfs:range, ?u)

ENTONCES E también contiene la terna (?y, rdf:type, ?u)

(Discrete Mathematics, isTaughtBy, Grigoris Antoniou) (isTaughtBy, rdfs:range, academic staff member)

(Grigoris Antoniou, rdf:type, academic staff member)

32M. Mercedes Martínez

Page 29: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Limitaciones de RDF Schema (I) No es posible restringir el rango de una propiedad

(rdfs:range) a un conjunto de clases. Es global para todas las clases.

“Las vacas sólo comen plantas, mientras que otros animales comen también carne”

No se puede decir que dos clases son disjuntas. ‘Hombre’ y ‘Mujer’ son clases disjuntas

No podemos definir nuevas clases como unión, diferencia, … de otras existentes.

‘Persona’ es la clase resultante de hacer la unión de ‘Hombre’ y ‘Mujer’

33M. Mercedes Martínez

Page 30: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Limitaciones de RDF Schema (II) No podemos expresar restricciones de cardinalidad.

Una persona sólo puede tener dos progenitores

No podemos expresar ciertas carácterísticas de las propiedades. Propiedades transitivas (‘mayor que’), unicidad (‘madre de’),

propiedades inversas (‘escuchar’, ‘ser escuchado por’)

34M. Mercedes Martínez

Page 31: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

36

Referencias Artículos:

[RDFPrimer] “RDF Primer” W3C Recommendation 10 February 2004. Disponible en http://www.w3.org/TR/2004/REC-rdf-primer-20040210/

M. Mercedes Martínez

Page 32: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Referencias

URLs:

RDF Semantics. http://www.w3.org/TR/rdf-mt/

37M. Mercedes Martínez

Page 33: Introducción a la Web Semánticamercedes/websem/fileswebsemvalladolid/rdf... · La relación inversa no es necesariamente cierta: Un profesor P puede estar implicado en un curso

Espacios de nombres

RDF (xmlns:rdf): http://www.w3.org/1999/02/22-rdf-syntax-ns#

RDFS (xmlns:rdfs): http://www.w3.org/2000/01/rdf-schema#

38M. Mercedes Martínez