Ingeniería de Aplicaciones para la Web Semántica Segundo Cuatrimestre 2005 Clase 07 Los Esquemas RDF Mg. A. G. Stankevicius.

Slides:



Advertisements
Presentaciones similares
 Libros Electrónicos (Hiperlibros) Gustavo Corral Guillé.
Advertisements

Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Diagrama de Clases SPI 2016.
SOFTWARE LIBRE, OPEN SOURCE E HISTORIA DE LINUX TOVAR LÓPEZ IAN GUSTAVO PROFESOR RENÉ DOMINGUEZ ESCALONA ADMINISTRA SISTEMAS OPERATIVOS GRUPO 503.
Consejos, conceptos y vocabulario sobre requerimientos y especificaciones.
Ingeniería de Aplicaciones para la Web Semántica Segundo Cuatrimestre 2005 Clase 09 La capa lógica Mg. A. G. Stankevicius.
El ELKA es una técnica de modelado de información desarrollada por Hughes Aircraft Company. Esta técnica especifica a través de gráficas, contempla las.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
Ingeniería de Aplicaciones para la Web Semántica Segundo Cuatrimestre 2005 Clase 11 Conclusiones Mg. A. G. Stankevicius.
Hojas de Estilo en Cascada CSS RAFAEL MOURGLIA. CSS son las siglas de Cascade Style Sheet que traducido significa hojas de estilo en cascada. Las hojas.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
¿Juegos Gratis para tu PC? Software Libre La Revolución que se Viene Mg. Alejandro G. Stankevicius.
Validación de HTML Validación de CSS. Validación de HTML Desarrollado por: W3C Tipo de Recurso: Programa – Software Tipo de Destinatario: General Tipo.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Herencia Multiple en Java
Ingreso , proceso y salida de datos
Clases y Objetos.
Convenciones de nomenclatura y diseño
Programación Avanzada
Módulo 00 Administrivia.
Módulo 00 Administrivia.
Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico.
Diseño y Programación Orientada a Objetos
Herencia Implementación en Java.
El conjunto de los números naturales
Programación Orientada a Objetos
Fundamentos de la programación orientada a objetos
Sistema de Control de Acceso
Introducción a programación web Martin Esses
Ingeniería de Aplicaciones para la Web Semántica
Definición y Conversión de datos
Introducción a programación web Martin Esses
UNIVERSIDAD ICEP INTELIGENCIA ARTIFICIAL INGENIERÍA EN SISTEMAS COMPUTACIONALES Martes, 24 de Octubre de 2017 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO.
Programación orientada a objetos
METODOLOGÍA DE SISTEMAS
TUTORIAL PSeint.
Sonia Rueda Herencia y Polimorfismo
Ingeniería de Sistemas Requerimientos
CREAR DIAGRAMA DE FLUJO
MATEMÁTICA DISCRETA Y LÓGICA 1
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
CAMBIOS Y SECUENCIAS MUCHOS OBJETOS, SUCESOS Y PROCESOS QUE OBSERVAMOS CAMBIAN O EVOLUCIONAN EN EL TRANSCURSO DEL TIEMPO. PARA COMPRENDER LOS CAMBIOS HAY.
13 Clase/ 5 de noviembre 2015/ Jueves --Exposiciones -Estructura del Cuerpo HTML 5 -CCS --Maquetación en Dreanweaver.
La Web Semántica Equipo: 3 Efrain Hernandez Salazar
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Algoritmo Capitulo Cinco.
Programación Orientada a Objetos
DEFINICIÓN Es un género discursivo de uso generalizado en el ámbito académico, esto permite comprender lo que leemos.
Modulo 0: Administratrivia
Parte 2.
Conceptos de Objetos, Clases y Otros Modelo Conceptual
PROGRAMACIÓN INTEGRADA A OBJETOS MAYERLY TATIANA GARZÓN ROA ANDREA YISED GUERRERO DIAZ CURSO:
Base de Datos TECNICATURA SUPERIOR EN INFORMÁTICA PROF.: GUANUCO, JUAN CARLOS.
Universidad Nacional de Colombia - Leguajes de Programación
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
GICI-Grupo de Investigación en control Industrial 1 1.DESARROLLO DE UN MODELO MATEMÁTICO Para investigar como varía el comportamiento de un proceso químico.
Lógica y argumentación Transformación de proposiciones.
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
VLAN.
Informática Ingeniería en Electrónica y Automática Industrial
Algunas Características de C++ no presentes en C
Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
ALGEBRA RELACIONAL UNIDAD 3 ALGEBRA RELACIONAL. INTRODUCCIÓN Se forma a partir de la matemática formal Creada por Edgar Frank Codd en 1972 Concede comportamineto.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 5 H erencia. La herencia es una forma de reutilización de software en la que las clases se crean incorporando los datos (atributos) y el comportamiento.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Transcripción de la presentación:

Ingeniería de Aplicaciones para la Web Semántica Segundo Cuatrimestre 2005 Clase 07 Los Esquemas RDF Mg. A. G. Stankevicius

2 Copyright Copyright © 2005 A. G. Stankevicius. Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera. Una copia de esta licencia está siempre disponible en la página La versión transparente de este documento puede ser obtenida en

3 Contenidos ¿Hace falta otro lenguaje? Jerarquías de clases y de propiedades. Sintáxis del lenguaje RDFS. Codificación XML para RDFS. Especificación formales de RDF y RDFS. Semántica axiomática para RDFS.

4 ¿Hace falta otro lenguaje? RDF es un lenguaje que permite que describir un dominio empleando terminología propia. No asume ni define semántica alguna para el dominio que se está decribiendo. Estos aspectos no cubiertos pueden ser especificados a través de RDFS: Clases y propiedades. Jerarquía de clases y herencia. Jerarquía de propiedades.

5 Clases y sus instancias Debemos recordar las diferencias entre: Los objetos concretos del dominio (e.g., el profesor Mengue Chón). Los conjuntos de individuos que comparten ciertas características (e.g., los profesores). Los objetos concretos que pertenecen a una cierta clase de denominan instancias de esa clase. Esta relación queda explicitada mediante el atributo rdf:type.

6 Clases y Jerarquías El especificar la jerarquía de clases propia del dominio en consideración aporta distintos beneficios. Al igual que en los lenguajes de programación, la información de tipado evita cometer errores triviales. Por caso, podemos evitar declaración del tipo “el curso CS101 es dictado por el curso CS102”.

7 Jerarquía de clases Las distintas clases identificadas se organizan en una jerarquía: La clase A es un subclase de la clase B si toda instancia de A también instancia de B. En este caso, B es la superclase de A. Notar que el grafo de una subclase no necesariamente tiene que ser un árbol. De la misma forma, una clase puede tener múltiples superclases.

8 Ejemplo de jerarquía No Docentes Docentes Profesor Asociado Profesor Titular Profesor Adjunto Personal

9 Herencia en las jerarquías de clases Supongamos que en el contexto del ejemplo anterior se cumplen que: Los cursos sólo pueden ser dictados por los docentes. Mengue Chón es Profesor Asociado. Observemos que Mengue Chón hereda la capacidad de dictar cursos. Los esquemas RDF capturan este comportamiento fijando la semantica asociada al concepto “es-subclase-de”.

10 Jerarquía de propiedades De manera análoga se puede especificar una estructuración jerárquica para las propiedades: “dictado-por” es una subpropiedad de “cátedra”. Si un curso A es dictado por el profesor titular B, entonces A cuenta en su cátedra al profesor titular B. La inversa no es necesariamente válida: B podría ser un ayudante alumno.

11 RDF vs. RDFS RDFS describe las relaciones entre las clases y las propiedades mencionadas en un determinado dominio. RDF describe las relaciones entre objetos concretos, propiedades y sus valores asociados. Lo expresado mediante un documento RDF no puede ser capturado a través de los esquemas RDF, y vice-versa.

12 El lenguaje RDFS Las primitivas de modelado del lenguaje RDFS son caracterizadas mediante recursos y propiedades. Para declarar que “Profesor Titular” es una subclase de “Docente”, debemos: Definir los recursos profesorTitular, docente y subClassOf. Definir la propiedad subClassOf. Formular la declaración (profesorTitular, subClassOf, docente).

13 Sintáxis XML para RDFS Principales clases: rdfs:Resource, la clase asociada a todos los recursos. rdfs:Class, la clase asociada a todas las clases. rdfs:Literal, la clase asociada a todos los literales. rdf:Property, la clase asociada a todas las propiedades. rdf:Statement, la clase asociada a todas las declaraciones reificadas.

14 Sintáxis XML para RDFS Principales atributos: rdf:type, que relaciona recursos con su clase asociada (el recurso en cuestión queda declarado instancia de esa clase). rdfs:subClassOf, que relaciona una clase con una de sus superclases (es decir, todas las instancias de esa clase serán instancia de su superclase). rdfs:subPropertyOf, que relaciona una propiedad con una de sus superpropiedades.

15 Sintáxis XML para RDFS Principales atributos: rdfs:domain, que especifica el dominio de una cierta propiedad (es decir, recursos de qué clase podrán aparecer como sujeto del cual la propiedad habla). rdfs:range, que especifica el rango asociado a una cierta propiedad (es decir, recursos de qué clase podrán aparecer como valor asociado a esa propiedad).

16 Un ejemplo concreto <rdfs:domain rdf:resource="#docentes" /> <rdfs:range rdf:resource=" />

17 Relaciones entre las principales clases y atributos Tanto rdfs:subClassOf como rdfs:subPropertyOf se comportan de forma transitiva por definición. Considerando que las clases son recursos, rdfs:Class es al mismo tiempo subclase de rdfs:Resource. A su vez, rdfs:Resource es instancia de rdfs:Class, ya que rdfs:Resource es la clase de todos los recursos. Toda clase es instancia de rdfs:Class.

18 Propiedades auxiliares Otras propiedades útiles: rdfs:seeAlso relaciona un recurso con otro recurso que lo explaya más en detalle. rdfs:isDefinedBy es un subpropiedad de rdfs:seeAlso y relaciona un recurso con la ubicación en la cual figura su definición (usualmente un esquema RDF). rfds:comment permite incluir comentarios en la especificación de los recursos. rdfs:label asigna un nombre simple de recordar por los humanos.

19 Un ejemplo concreto Formalizando el ejemplo anterior: La clase de los Profesores Titulares. Todos los Profesores Titulares son a su vez Docentes....

20 Un ejemplo concreto (cont.) La clase de todos los cursos. Hereda su dominio (Cursos) y su ranfo (Docentes) de la superpropiedad "cátedra".

21 Un ejemplo concreto (cont.) It is a property of staff membersand takes literals as values. <rdfs:domain rdf:resource="#docentes" /> <rdfs:range rdf:resource=" />

22 Especificación formal de los lenguajes RDF y RDFS Estamos en condiciones de inspeccionar la especificación formal de los lenguajes RDF y RDFS, ya que los mismos se encuentran definidos apelando al lenguaje RDFS. El lenguaje RDF se especifica en el siguiente espacio de nombres: Y el lenguaje RDFS en:

23 Especificación de RDF <rdfs:Class rdf:ID="Statement" rdfs:comment="The class of triples consisting of a predicate, a subject and an object (that is, a reified statement)" /> <rdfs:Class rdf:ID="Property" rdfs:comment="The class of properties" /> <rdfs:Class rdf:ID="Bag" rdfs:comment="The class of unordered collections" />

24 Especificación de RDF <rdf:Property rdf:ID="predicate" rdfs:comment="Identifies the property of a statement in reified form" >

25 Especificación de RDFS <rdfs:Class rdf:ID="Resource" rdfs:comment="The most general class" /> <rdfs:Class rdf:ID="Class" rdfs:comment="The concept of classes. All classes are resources" >

26 Especificación de RDFS

27 Semántica vs. espacios de nombres Consideremos la especificación formal de rdfs:subClassOf: El espacio de nombres indica que se aplica a clases y que tiene otra clase como valor asociado. Su significado (“ser subclase de”) no queda capturado. Observemos que su significado no puede ser capturado en RDF. Hace falta una definición semántica externa.

28 Semántica axiomática para RDFS Para capturar la semántica de las primitivas de modelado de RDFS es posible aplicar un mapeo hacia la lógica de primer orden. La semántica de la lógica especifica claramente la semántica de RDFS. Este mapeo permite establecer la base sobre la cual razonadores automáticos podrán manipular la información representada en estos lenguajes.

29 Convenciones Todas las primitivas de modelado en son representadas mediante constantes. Un reducido conjunto de predicados predefinidos capturan las relaciones entre estas constantes. Se adopta una lógica con igualdad. Las variables comienzan con '?'. Los axiomas se asumen implícitamente cuantificados de forma universal.

30 Axiomatización de listas Símbolos funcionales: nil cons(x, l) first(l) rest(l) Símbolos predicativos: item(x, l) list(l)

31 Predicados básicos PropVal(P, R, V) Predicado con tres argumentos, que se usa para representar declaraciones RDF acerca del recurso R, la propiedad P y el valor V. La terna RDF (P,R,V) se representa como PropVal(P, R, V). Type(R, T) Abreviatura de PropVal(type, R, T). Especifica que el recurso R es de tipo T.

32 Constantes representando primitivas de modelado Constantes adoptadas: Class, Resource, Property y Literal. Todas las clases son instancias de la clasa Class. Type(Class, Class) Type(Resource, Class) Type(Property, Class) Type(Literal, Class)

33 Constantes representando primitivas de modelado La clase Resource es la clase más general: todas las clases y todas las propiedades son a su vez recursos: Type(?p, Property) ® Type(?p, Resource) Type(?c, Class) ® Type(?c, Resource) El predicado de toda declaración RDF es una propiedad: PropVal(?p, ?r, ?v) ® Type(?p, Property)

34 La propiedad “type” type es una propiedad: PropVal(type, type, Property) Esta propiedad se aplica a recursos (su dominio) y tiene como valor una clase (su rango): Type(?r, ?c) ® (Type(?r, Resource) ∧ Type(?c, Class))

35 La propiedad auxiliar “FuncProp” Diremos que P es una propiedad funcional si, y sólo si: P es una propiedad. No existen X, Y y Z tales que P(X,Y) y P(X,Z) se verifiquen, con Y ≠ Z. Formalmente: Type(?p, FuncProp) « (Type(?p, Property) Ù ∀ ?r ∀ ?v1 ∀ ?v2 (PropVal(?p, ?r, ?v1) Ù PropVal(?p, ?r, ?v2) ® ?v1 = ?v2))

36 Semántica de los contenedores RDF Los contenedores RDF son esencialmente listas: Type(?c, Container) → list(?c) Existen tres tipos de contenedores: Type(?c, Container) → (Type(?c, Bag)  Type(?c, Seq)  Type(?c, Alt)) El orden de los elementos puede o no importar: ¬(Type(?x, Bag)  Type(?x, Seq))

37 Semántica de los contenedores RDF Para cada número natural n > 0, se contempla el identificador “_n” para hacer referencia al enésimo elemento de un contenedor. Evidentemente, se trata de una propiedad funcional: Type(_n, FuncProp) Pero sólo se aplica a contenedores: PropVal(_n, ?c, ?o) ® Type(?c, Container)

38 Semántica de las subclases subClassOf es una propiedad: Type(subClassOf, Property) Si una clase A es una subclase de la clase B, todas las instancias de la clase A son a su vez instancias de la clase B: PropVal(subClassOf, ?a, ?b)  (Type(?a, Class)  Type(?b, Class)  ∀ ?x (Type(?x, ?a) ® Type(?x, ?b)))

39 Semántica de las subpropiedades P es una subpropiedad de Q, si Q(X, Y) se verifica toda vez que P(X, Y) se verifique. Formalmente: Type(subPropertyOf, Property) PropVal(subPropertyOf, ?p, ?q)  (Type(?p, Property)  Type(?q, Property)  ∀ ?r ∀ ?v (PropVal(?p, ?r, ?v) ® PropVal(?q, ?r, ?v)))

40 Especificación de dominios y rangos Si el dominio de P es D, entonces para cada P(X,Y), X debe pertenecer a D: PropVal(domain, ?p, ?d) ® ∀ ?x ∀ ?y (PropVal(?p, ?x, ?y) ® Type(?x, ?d)) Si el rango de P es R, entonces para cada P(X,Y), Y debe pertenecer a R. PropVal(range, ?p, ?r) ® ∀ ?x ∀ ?y (PropVal(?p, ?x, ?y) ® Type(?y, ?r))