Web y Grid Semántica

Anuncio
Web y Grid Semántica
07-41125 Andreina Loriente
07-41895 Rosannys Ruíz
Web Semántica: ¿Qué es?
Extensión de la Web actual dotada de
significado, de manera que pueda ser
interpretada tanto por agentes humanos
como por agentes computerizados
¿WEB 3.0 != Web Semántica?
Web Semántica: Origen





Impulsada por Tim Berners-Lee.
1998 - Publicación de 2 documentos: Semantic Web
Road Map y What the Semantic Web can Represent
1999 – Publicación de libro ¨Weaving the Web¨
2000 – Conferencia en el marco del W3C
2001 – Artículo en revista Scientific American: "The
Semantic Web: a new form of
Web content that is
meaninful to computers will
unleash a revolution of new
possibilities"
Web Semántica: Arquitectura
Web Semántica: Precondiciones

Exista intercambio de datos.

Semántica de los datos sea explícita

Propiedades de los datos y de los
metadatos pueden ser inferidas.
Web Semántica: Tecnologías

XML

RDF - RDF Schema

OWL
XML: ¿Qué es?
XML es un formato basado en texto,
específicamente diseñado para almacenar
y transmitir datos.
Admite un conjunto ilimitado de etiquetas
no para indicar el aspecto que debe tener
algo, sino lo que significa.
XML: Propiedades

Extensible: Número ilimitado de etiquetas.

Representación estructural de los datos: El
formato es modificable y con distintos usos.

Los datos son separados de la presentación y
el proceso: HTML se preocupa de la interfaz y
XML de los datos.

Conversión de los datos XML en
autodescriptivos: Las etiquetas dan significados a
la información.
XML:Ventajas para la Web Semántica

Mejora a HTML en:
◦ Lenguaje dependiente del dominio.
◦ Separa la estructura de los datos de la forma en que
serán presentados.
Permite auto-describir los datos.
 Estandariza el intercambio de datos y
conocimiento.
 Permite la “integración” de datos con diferentes
esquemas y propiedades.

◦ XML, DTD’s o XMLSchema para definir la estructura
del documento.
XML: Desventajas para la Web
Semántica
Muchas posibilidades diferentes de
codificar un universo de discurso.
 No se dice nada sobre el significado de las
estructuras.
 Difícil de entender otros documentos.

◦ Se debe entender el significado de cada
vocabulario.
◦ No se logró una estandarización.
RDF: ¿Qué es?
Es un modelo de datos que representa
información en la Web en forma de grafo
dirigido y etiquetado, donde la unidad
básica de información es conocida como
la tripleta.
Este modelo está particularmente dirigido
para la representación de los metadatos.
RDF: ¿Qué es?
Una tripleta se conforma por un sujeto
(identificador del recurso), un predicado
(nombre de la característica o propiedad) y un
objeto (valor de la propiedad).
Ejemplo:
Sujeto: Juan
Predicado: Tiene padre
Objeto: Martín
RDF: Propiedades
Liviano:
RDF
se
almacena
en
documentos XML.
 Multipropósito: No sólo se utiliza para
la web semántica.
 Extensible: Es un standard muy fuerte
que puede crecer rápidamente.
 Sindicación Web: La información se
esparce de forma eficiente a través de
varios puntos.

RDF: RDF Schema
RDF Schema es una extensión del
vocabulario RDF que permite describir
taxonomías de clases y propiedades.
También extiende definiciones de algunos
elementos de RDF, por ejemplo, define el
dominio y rango de las propiedades y
relaciona las clases y propiedades RDF a
taxonomías utilizando el vocabulario
RDFS.
RDF: RDF Schema

RDF Schema define:
◦ Clases
◦ Propiedades
Más información en
http://www.obitko.com/tutorials/ontologies-semanticweb/rdf-schema-rdfs.html

SPARQL: ¿Qué es?
Se trata de un lenguaje estandarizado para
la consulta de grafos RDF.
Contiene las capacidades para la consulta
de los patrones obligatorios y opcionales
de grafo, junto con sus conjunciones y
disyunciones.
Los resultados de las consultas SPARQL
pueden ser conjuntos de resultados o
grafos RDF.
ORMs para RDF

RDFAlchemy: Python
(https://rdfalchemy.readthedocs.org/en/latest/)

ActiveRDF: Ruby (http://activerdf.org/)

RDFBeans: Java
(http://rdfbeans.sourceforge.net/)

RDF2GO: Java
(http://semanticweb.org/wiki/RDF2Go)
OWL: ¿Qué es?
Es un lenguaje basado en ontologías para
publicar y compartir datos en la World Wide
Web.

¿Qué es una ontología?
◦ Estudia la manera en que se relacionan las
entidades que existen.
◦ Formulación de un exhaustivo y riguroso
esquema conceptual dentro de uno o varios
dominios dados; con la finalidad de facilitar la
comunicación y el intercambio de información
entre diferentes sistemas y entidades.
OWL: Propiedades
Construido sobre RDF y codificado en XML.
 Permite representaciones eficientes de ontologías
que puedan someterse a procedimientos y
decisiones.
 Mucho más expresivo y con un vocabulario más
amplio.
 Una de las principales características y que
distingue a OWL de otros lenguajes es el uso de
enlaces:

◦ Propiedades de los objetos (Object Properties)
◦ Propiedades de tipos de datos (Datatype properties)
OWL: Propiedades

Posee tres sublenguajes increíblemente
expresivos diseñados para ser usados por
comunidades
especializadas
de
implementadores y usuarios:
◦ OWL Lite.
◦ OWL DL (Description Logic)
◦ OWL Full
Lenguaje OWL: ¿Qué es?




Los principales componentes del lenguaje
OWL son: clases, propiedades instancias de
clases y relaciones entre esas instancias.
Una clase es simplemente un nombre y una
colección de propiedades que describen un
conjunto de individuos.
Los individuos son los miembros de esos
grupos.
Las Propiedades nos permiten afirmar
hechos generales acerca de los miembros de
las clases y hechos específicos acerca de los
individuos.
Protégé: ¿Qué es?
Es una plataforma que provee a una creciente
comunidad de usuarios con un conjunto de
herramientas para la construcción de
modelos de dominio y aplicaciones basadas
en conocimiento con ontologías.

Soporta dos maneras de modelar ontologías:
◦ Protégé Frames Editor
◦ Protégé OWL Editor
Protégé: ¿Qué es?
Es open source.
 Viene integrado con GUI y plug-ins:

◦
◦
◦
◦
OWLWizard
OWLViz
ezOWL
JADEBean Generator
Protégé: Ejemplo de la Pizza
Una vez iniciado el Protegé:


Creamos la nueva ontología de la Pizza haciendo click
en Create Ontology, luego en Ontology Headers, le
colocamos el nombre de la nueva ontología en el IRI
(International
Resource
Identifier):
http://www.pizza.com/ontologies/pizza.owl.
Agregamos una anotación o descripción, haciendo
click en Create Annotation, y el en campo Value
escribimos “Ontología Pizza que describe varias pizzas
de acuerdo a sus ingredientes”.
Protégé: Ejemplo de la Pizza
Clases principales: pulsamos Classes, luego Add:

◦
◦
◦



Pizza
Pizza_base
Pizza_topping
Hacemos las clases disjuntas, seleccionando Pizza en
Class Hierarchy y en la vista Class Description
seleccionamos Disjoint Classes.
Creamos las subclases de Pizza_topping pulsando
Create Class Hierarchy y alli agregamos Topping como
sufijo a todas las subclases usando la opción Suffix all in
list with.
Pulsamos el botón Object Properties, luego Add Object
Property y creamos la propiedad “tiene_Ingediente”.
Protégé: Ejemplo de la Pizza
Pulsamos Domains (intersection) para indicar que esta
propiedad es de Pizza.
 Creamos
“tiene_Topping”
y
“tiene_Base”
como
subpropiedades de
“tiene_Ingrediente”, para esto
seleccionamos “tiene_Ingrediente”, pulsamos Add subproperty.
 Creamos propiedades inversas, usando el botón Add de
Inverse Properties en la vista de Properties Description.

El proceso es largo y por cuestiones de tiempo solo
mostramos los primeros pasos que permiten crear una
ontología de Pizza. Para ver en detalle todo el procedimiento
pueden ingresar en: Ejemplo de la Pizza - Protégé.
Matching de Ontologías

Equivalencia entre clases y propiedades.
◦ equivalentClass, equivalentProperty: mismas
instancias; mismas propiedades.

Identidad entre individuos
◦ sameAs: declara que dos individuos sean
idénticos

Diferencia entre individuos:
◦ differentFrom, AllDifferent: opuesto a sameAs.
Matching de Ontologías

Equivalencia entre clases y propiedades.
◦ equivalentClass, equivalentProperty: mismas instancias;
mismas propiedades.

Identidad entre individuos
◦ sameAs: declara que dos individuos sean idénticos

Diferencia entre individuos:
◦ differentFrom, AllDifferent: opuesto a sameAs.
OWL:Ventajas para la Web Semántica

Poder expresivo equivalente a Description
Logic.
◦
◦
◦
◦

Semántica bien definida
Propiedades son conocidas
Existen algoritmos de inferencia
Evidencias de tractabilidad empírica.
Restricciones de cardinalidad
OWL:Ventajas para la Web Semántica

Definición de Clases
◦ Extensión
◦ Comprensión

Poder expresivo determinado por
◦ Clase de operadores que se seleccionen
◦ Clase de axiomas que se permitan

Existen cientos de ontologías definidas en
diversos dominios del saber.
OWL: Desventajas para la Web
Semántica

Debe
existir
un
número
limitado
de
constructores/axiomas para que el proceso de
inferencia sea decidible.

No es muy natural.

No permite
integridad.

Open World Assumption
definir/chequear
restricciones
◦ Razonamiento es más complejo

Complejidad puede ser Intractable.
de
Grid Semántica: ¿Qué es?
Es un enfoque del Grid Computing en donde la
información, recursos informáticos y servicios
son descritos a través de un modelo de datos
semántico. En este modelo los datos y metadatos
son expresados a través de hechos (pequeñas
oraciones).
Es una extensión de la Grid actual en la que se
proporciona información y servicios con un
significado bien definido, lo que permite a los
ordenadores y las personas trabajar en
cooperación.
Grid Semántica: Arquitectura
Web Semántica vs Grid Semántica

Diferencias:
Web Semántica
Grid Semántica
Pequeño número de Hosts
Un número grande de procesos
interactuando.
Permite las comunicaciones
Permite mucha colaboración
Proveedor estático de metadata
Usuario dinámico de metadata
Servicios web persistentes
Servicios grids que aparecen y
desaparecen
Servicios web sin estado
Servicios grids transitorios y con
estado
Web Semántica vs Grid Semántica

Semejanzas:
◦ Ambas operan en un ambiente distribuido
global y cambiante.
◦ Metadatos necesarios son computacionalmente
accesibles y compartibles.
◦ Complejidad está oculta.
SPARQL: Ejemplos de Consultas
SELECT ?elvisbday WHERE {
<http://dbpedia.org/resource/Elvis_Presley>
<http://dbpedia.org/property/dateOfBirth> ?elvisbday .
}
¡Gracias por su atención!
¿Preguntas?
Descargar