Diapositiva 1 - Interoperabilidad

Anuncio
ONTOLOGIAS EN LA
INTEROPERATIBILIDAD
Presentado por:
Franklin José Sandoval Sucre
William Bustamante
1
De qué Hablaremos
•
•
•
•
•
•
•
•
•
•
Introducción
Definiciones
Componentes
Ventajas
Herramientas
Lenguajes de representación
– RDF
– OWL
Editores
Familiarización con Protégé para
crear una ontología
Ejemplos
Prácticas
2
Tendencias ...
Actualmente
Futuro próximo
La Interconexión será una realidad en todas los
equipos
3
2007
Crecimiento de la Web
2008
Contexto: Universo de información
Web : Futuro
2009
Linking Open Data cloud diagram,
by Richard Cyganiak and Anja
Jentzsch.
http://lod-cloud.net/
2010
4
Evolución de la Web
Agentes Web que conocen,
aprenden y razonan como los humanos.
Artificial Intelligence
IntelligentAgents
Personal Assistants
3
Ontologies
SemanticWebiste
La Web Semántica
& UI
Conecta Conocimiento
SemanticSearch
Thesaurus&
Taxonomies
Knowledge Bases
Semantic
Desktop
Bots
Enterprise Portals
SearchEngines
Web sites
1
PIMS
La Web
Conecta Información
Databases
“Push
ContentPortals
Publish& Subscribe
P2P file sharing
File Servers ”
Incrementar conectividad Social
SemanticAgents
Autonomic Smart
Ecosystems
Intellectual Markets
Natural Property
Semantic
Language
Communities
4
Blogets La Web UbicuaSemantic
Enterprise
Conecta Inteligencia
Semantic
Semantic
Blog
Wiki
Semantic
email
Mash-up
Blogs
Email
Wiki
Semantic
Social Network
Multi-user
Gaming
Community
Portals
Marketplaces
&auctions Social
Bookmarking
2
La Web Social
Conecta Gente
RSS
Conferencing
Social network
Instantmessages
5
Cada vez más datos
Sistemas de Información,
Administraciones públicas,
sanidad, conocimiento general,
información de empresas,
vuelos, restaurantes,
información geográfica, entretenimiento, servicios al
ciudadanos etc etc etc etc ...
Problema: datos aislados en silos
6
Cada vez más Datos
Hay que interconectar los aislados en silos
Hay que Identificar
todas las cosas en la
Web
Pero necesitamos
describir esos
recursos…
7
Optimización de Procesos…
¿Cómo puedo
empezar a
optimizar mis
proceso de
negocio?
Es indispensable consensuar una manera de documentar los
procesos
8
Ciclo de Vida Información
• En la Web:
Fuentes de
información
Web
Semántica
Consumidores
de
conocimiento
BD
Ontología
Usuario
XML
Otra
Ontología
WWW
Agente
9
Pero el Problema es…
Cuestión de Estándares
¿No puedes hacer
nada bien?
Problema esencial
Pero las máquinas no entienden el sentido de las palabras, mucho
menos el sentido de los textos…
10
Problemas Existentes
• Duplicidad y heterogeneidad de la información
• Falta de integración de la información
• Falta de información en el momento oportuno y por ende
imposibilidad de intercambio de información en línea
• Diferencias en los conceptos utilizados para el intercambio de
información que causa incongruencias en los resultados.
• La falta de estandarización de estructuras, calidad, consistencia
y disponibilidad en los datos.
• Existencia de problemas de seguridad informática que afectan
la calidad de los datos
11
El Modelo del Dominio
12
...Pero qué Significa “Dominio”?
Matemáticas: se llama “dominio de
definición” de una función al conjunto de
valores para los cuales la función esta
definida.
Por ejemplo:
f(x) = 1/x
el dominio de esta función es el conjunto de
los reales menos el cero
13
...Pero qué Significa “Dominio”?
Internet: se habla de “nombre de dominio”
al conjunto de caracteres que identifican un
sitio de internet accesible por un usuario.
Por ejemplo:
.com (comercial-empresas)
.edu (educación, centros docentes),
.org (organización sin fines de lucro),
.net (operación de la red),
.gov (Gobierno USA)
.mil (ejército USA).
www.cnti.gob.ve
14
...Pero qué Significa “Dominio”?
Ingenieria de software : se llama “modelo
del dominio” a la representación visual de los
conceptos u objetos del mundo real en un
dominio de interés. Este modelo agrupa los
conceptos de un dominio.
Mecanismo fundamental para comprender el
dominio del problema y para establecer
conceptos comunes
15
Modelo del Dominio
En él se representan los conceptos del dominio
que nos interesa, sus características y las
relaciones entre dichos conceptos
Es un diccionario visual del dominio del
problema
Qué es un concepto ?
 Una idea
 Es el elemento básico del pensamiento
 Conocimiento propio sobre una categoría de
objetos o acontecimientos
Las ONTOLOGIAS son herramientas que sirven
para esquematizar el modelo del dominio
de un sistema particular
16
Herramientas de Codificación del
Conocimiento de un Dominio
• Hay tres niveles de comunicación semántica
• Cada nivel proporciona una estructura sobre la que se
apoya el inmediatamente superior
• Un nivel más alto proporciona mayor expresividad pero
conlleva mayor complejidad
17
(1)… Lenguajes de Marcados
• Para describir la semántica se requiere un lenguaje
apropiado (llamado lenguaje de representación)
• Tienden a estar basados en XML
– OML (Ontology Markup Language)
– XOL (Ontology Exchange Language)
– SHOE una extensión de HTML
– RDF y RDFS impulsados peor el W3C consortium
– Mapas Temáticos (Topic Maps) estándar ISO
• RDF y Topic Maps son los más comunes
18
(2)… Metadatos
• Son datos que describen otros datos
• En este contexto
– Datos que describen recursos de la Web.
• La distinción entre datos y metadatos es
relativa
– Depende de la aplicación.
– Los metadatos de una aplicación pueden ser
los datos que maneja otra aplicación.
19
(3)… Ontología
• Es un conjunto de
– términos
– relaciones entre los términos
– que describen un dominio de aplicación concreto
• Objetivo
– Creación de un diccionario de términos
• compartidos y
• comprensibles
– para diferentes aplicaciones y/o comunidades que
permita la interoperabilidad
• compartir información y conocimiento entre ellas
• Especificación de una conceptualización
Metadatos y Ontologías forman parte del
campo de la representación del
conocimiento
20
Ontología
• Las ontologías son usadas para clasificar los términos en una aplicación
particular, caracterizar sus posibles relaciones, y definir posibles
restricciones en el uso de esas relaciones
– Las especificaciones de restricciones puede usarse para la realización
de tareas de validación de los datos o para llevar a cabo inferencias
• Dos tipos de enfoques:
– Lenguajes de ontologías. Orientados a la representación del
conocimiento
• OWL. Se basa en la estructura de RDF y es el lenguaje de ontología de
referencia en la actualidad
– Lenguajes de reglas ontológicas. Establecimiento de reglas lógicas
• SWRL. Reglas para las definiciones expresadas en la ontología común
de OWL
21
Fundamentos Teóricos de Ontologías:
Definición
Ontologías
usadas_en
Ciencias
de la
Computación
Inteligencia
Artificial
Ingeniería
del Conocimiento
En la actualidad muchas de las aplicaciones relacionadas con:
Comercio
electrónico
Bioinformática
Recuperación
de información
Web
Semántica
Educación
Gestión de
conocimiento
Procesamiento
lenguaje natural
22
¿Qué es una Ontología?
Es un
Vocabulario
Controlado
Ontología
Con el Objetivo de
Especificar el
Conocimiento
Para Describir
Objetos
Relación
Con una
Gramática
Relevantes de un
Del
Dominio
Una Ontología es una especificación formal, explícita de una conceptualización
compartida
Conocimient
o consensual
Procesable
por una
máquina
Conceptos,
propiedades,
relaciones, funciones,
restricciones, axiomas.
Modelo abstracto
de algún
fenómeno en el
mundo
23
Fundamentos Teóricos de
Ontologías: Definición
Las ontologías se fundamentan en el principio
de reutilizar y compartir
Reutilizar:
Construir nuevas aplicaciones a partir de componentes ya existentes
Compartir: Diferentes aplicaciones utilizan un mismo recurso
Ventajas: Más barato Menos tiempo Más fácil
24
Objetivos de las Ontologías
 Proporcionar un vocabulario común entre personas o
agentes de software.

Permitir reutilizar el conocimiento de un dominio
 Permitir separar conocimiento de dominio del
conocimiento operacional

Analizar conocimiento

Sistematizar conocimiento

Proporcionar una estructura de datos bien justificada

Reducir la ambigüedad (disminuir confusiones
semánticas)
 Permitir la interoperabilidad
25
Clasificación de las Ontologías
Nivel de dependencia
Proporcionan el vocabulario
necesario para describir un
dominio
Describen conceptos muy generales que
son independientes de un problema
particular o dominio.
Proveen un vocabulario
sistemático para resolver
problemas
Contienen las definiciones necesarias para
modelar el conocimiento requerido para
una aplicación particular en un dominio
dado
Dependencia del contexto (Fundación para Agentes
Físicos Inteligentes) -FIPA-
26
Áreas de Aplicación de las Ontologías
 Desarrollo de servicios Web: Descripción de significados
de los contenidos de los portales
 Desarrollo de mecanismos de comunicación: Entre
personas y máquinas por medio del lenguaje natural
 Desarrollo de aplicaciones en salud: Recuperación de
información, búsqueda de respuestas en fragmentos de textos
que responden preguntas, clasificación de documentos
 Desarrollo de aplicaciones para gestionar
conocimiento:Para representar conocimiento tácito y explicito
de los integrantes de una organización, para describir pasos de
procesos, entre otros
27
27
Áreas de Aplicación de las Ontologías
 Desarrollo de aplicaciones lingüísticas: Descripción de
construcciones semánticas (palabras, adjetivos, grupos nominales,
etc) Ejemplo: WordNet
 Desarrollo de aplicaciones de comercio electrónico:
Para intercambiar información entre clientes/proveedores, identificar
productos y servicios en un mercado global
28
Componentes de las Ontologías
Estructura muy completa que permite describir
conocimiento
Ontología
Clases
Axiomas
Relaciones
Funciones
Reglas
Taxonomía
Vocabulario
Propiedades
Instancias
29
Conceptualización Simplificada de una
Ontología
1. Conceptos: Computador, Dispositivos de Almacenamiento, Procesador, Memoria,
Dispositivos de Entrada/Salida y Categoría;
2. Relaciones: “tiene Componentes” vincula los conceptos Computador y sus
respectivos módulos; y la relación “pertenece A” une los conceptos Computador y
Categoría;
3. Objetos o instancias de conceptos: Volátil y Permanente, son instancias de la
clase o concepto Memoria; y
4. Subclases: Portátil, Computador Personal y Servidor son subconceptos
30
de Categoría
Ventajas del Uso de las Ontologías
En tiempo de desarrollo…
*
Consenso
entre
*
participantes
Comprensión
del dominio
Reutilización del
conocimiento
*
*
*
Mejor
comunicación
entre
agentes
Integración
fuentes de datos
*
*
Validación
En tiempo de ejecución…
Interoperabilidad
*
*
Aplicaciones
comercio electrónico
Modelado contenido
semántico págs. web
* Desambigüación
lenguaje natural
31
Ejemplo de una Ontología
Órgano
Tabique
parte_de
Aurícula
Ventrículo
parte_d
e
es_un
afecta_una
Corazón
parte_de
tiene_un
Tratamiento
tipo_de
tipo_de
Intervención
Medicación
Aplicaciones
Laboratorio
Protocolos
Radiología
Farmacia
Guías médicas
Ontología
Bases de datos
Anatomía Patológica
Sistemas Clasificación
……..
Requerimiento
Sistemas
parte_de
Estructura
Anatómica
tiene_una
……..
Historias médicas
Resultados
32
Taxonomía…
33
Taxonomía…
ES… la ciencia de
descubrir
nombrar
describir
clasificar
dominios
Taxonomía proviene de las palabras griegas:
taxis = división/orden y nomos = ley
34
Modelo Grafo
• Proporcionar marco global con reglas de
mapeo para interoperabilidad a nivel
semántico
– Subclase
– Disjunto
– Clase equivalente
– Propiedad equivalente
– Mismo individuo
–…
?
35
Ejemplo de Taxonomía
Documento
Doc.Papel
rd
fs
rdfs:subClassOf
bC
la s
sO
f
rd
f
s:s
u
bC
l as
sO
f
rd
fs:
su
rdf
u
s:s
f
sO
s
la
bC
Doc.Web
Doc.Disco
:s
ub
C
la
ss
O
rdf
s:s
ub
Cla
ssO
f
f
Articulo
Libro
rdfs:subClassOf
DVD
CD
rdfs:subClassOf
VideoLibro
36
Ejemplo 1 Taxonomía
37
Esquema de su Uso
38
Ejemplo 2
Objeto
Perro
Nombre
Raza
Edad
Beto
Pastor
2 años
Atributo
Valores
39
Resource Description
Framework
“RDF”
40
RDF
Significa: Resource Description Framework o Marco
de Descripción de Recursos
Desarrollado: World Wide Web Consortium (W3C).
Sirve: modelo de datos para expresar siempre los
datos sobre cualquier cosa de la misma forma
Expresión: RDF es independiente de XML, aunque
suele expresarse con esta sintaxis
Sintaxis y estructura Similar a la de los lenguajes
orientados a objetos
Validadores: http://www.w3.org/RDF/Validator/
RDF:
RDF:http://www.w3.org/RDF
http://www.w3.org/RDF
41
En modo gráfico:
E l s itio
h ttp ://w 3 c .o r g
Ejemplo RDF
T ie n e e l tí tu lo
W o r ld W id e W e b
C o n s o r tiu m
…
<rdf:Description rdf:about=“http://www.w3c.org/”>
dc:title>World Wide Web Consortium</dc:title>
<rdf:Description>
…
42
Taxonomía del RDF
Sujeto
Propiedades
Propiedades
Objeto
Propiedades
Objeto
Objeto
43
RDF
• Permite la descripción y el procesamiento de
metadatos
– No hace ninguna suposición sobre el dominio o
campo de aplicación
– No define ninguna semántica a priori
– Tiene la capacidad de describir metadatos de
cualquier dominio
• Sintaxis y estructura similar a la de los lenguajes
orientados a objetos
– Clases y subclases
44
RDF
• Las clases y subclases se disponen en una jerarquía.
– Les subclases pueden heredar propiedades de les clases
– Es posible la herencia múltiple, que permite
• La mezcla de diferentes esquemas semánticos
• Que los agentes enfrentados con una semántica desconocida la
puedan trazar hasta encontrar elementos comunes a partir de
los cuales deducir el resto
• Un conjunto de clases que definen un dominio o aplicación se llama
esquema
45
Características de RDF
 Basado en XML hereda todos los conceptos que
permiten especificar propiedades de los elementos
(por ejemplo los namespaces).
 Es una infraestructura de descripción de recursos.
 Propone un modelo de datos coherente y lenguajes
para definir vocabularios (RDFS)
 Los Componentes de RDF:
• Un modelo de datos formal.
• Una sintaxis para intercambiar datos.
• Un esquema.
• Una sintaxis legible por máquina del esquema.
• Protocolos de interrogación.
46
Modelo de Datos de RDF
El Modelo de datos de RDF, está constituido por tres tipos de
objetos:
Propiedades Sentencias
Recurso
PROPIEDAD
VALOR
Propiedad / descripción
•Basado en un modelo matemático = triple
•Recursos Web representados por nodos URI
•Los conjuntos de propiedades se conocen como
“descripciones”
47
Modelo de Datos de RDF
Recursos (Sujeto)
 Es de lo que se desea hablar y que puede ser
referenciado
 Los recursos tienen URIs
 Las definiciones RDF son recursos por sí mismas
Propiedades (Predicado)
 Slots, definen las relaciones con otros recursos o
valores individuales
Sentencias (Objeto o Valor)
 ‘Un recurso tiene una propiedad con un valor’
 Son tripletas <sujeto,predicado,valor>
Ej. <España, capital, Madrid>
 Los valores pueden ser recursos o datos individuales
XML
El modelo de datos de RDF está basado, en
declaraciones, afirmaciones o aserciones (statements)
48
Ejemplo Explicado de RDF
RDF: un modelo de metadatos
flexible para WEB
AUTOR
DC:Title
DC:Creator
EVA
“Eva
Méndez”
BIB:Aff
“UC3M”
uc3m
BIB:Name
BIB:Email
“Eva Méndez”
“[email protected]”
Los valores pueden ser: strings, fechas y URIs
49
Ejemplo de Texto en RDF
ABREVIADA
SELIALIZADA
<RDF:RDF>
<RDF: Description about=
”http://www.bib.uc3m.es/~mendez/rdf.htm”>
<Title> Explicando RDF</Title>
<Author>Eva Méndez </Author>
</RDF: Description>
</RDF:RDF>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.0/">
<rdf:Description
rdf:about="http://www.bib.uc3m.es/~mendez/rdf.htm"
dc:creator=”Eva Méndez"
dc:title=”Explicando RDF"
dc:date=“2005-04-12" />
</rdf:RDF>
http://www.sidar.org/recur/desdi/traduc/es/rdf/rdfesp.htm
50
Ejemplo de RDF Sintaxis Básica
Serializada
[1] RDF
::= ['<rdf:RDF>'] description* ['</rdf:RDF>']
[2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt*
'</rdf:Description>'
[3] idAboutAttr ::= idAttr | aboutAttr
[4] aboutAttr
::= 'about="' URI-reference '"'
[5] idAttr
::= 'ID="' IDsymbol '"'
[6] propertyElt ::= '<' propName '>' value '</' propName '>'
| '<' propName resourceAttr '/>'
[7] propName
::= Qname
[8] value
::= description | string
[9] resourceAttr ::= 'resource="' URI-reference '"'
[10] Qname
::= [ NSprefix ':' ] name
[11] URI-reference ::= string, interpreted para [URI]
[12] IDsymbol
::= (any legal XML Name symbol)
[13] name
::= (any legal XML name symbol)
[14] NSprefix
::= (any legal XML namáspace prefix)
[15] string
::= (any XML texto, with "<", ">", and "&"
51
RDFS o RDF Schema

Algunos términos RDFs
Class, property
Type, SubClassOf, domain

Estos términos son los elementos constitutivos de RDF
Schema, o core primitives

Definición del vocabulario
<Country, type, class>
<Capital, subClassOf, city>
<hasCapital, domain, Country>

Estas son sentencias RDF donde:
El predicado es un término RDF Schema
El sujeto u objeto es un término RDF
52
RDFS
Recurso
Clase
rdfs:Resource
rdfs:Class
rdf:Property
rdfs:ConstraitProperty
rdfs:Literal
Propiedad
•rdf:type
•rdf:subClassOf
•rdfs:subPropertyOf
•rdfs:comment
•rdfs:label
•rdfs:seeAlso
•rdfs:isDefinedBy
ConstraintProperty
•rdfs:range
•rdfs:domain
RDF(S) proporciona las primitivas básicas para
el modelado de ontologías, alcanzando
balance entre expresividad y razonamiento
53
Jerarquía de clase para el Esquema
RDF
Fuente: http://www.sidar.org/recur/desdi/traduc/es/rdf/rdfsch.htm
RDF, RDFS y RDF (S) no se consideran lenguajes
ontológicos per se, más bien son lenguajes para describir
meta data en la Web
54
Chequeo de Sintaxis para RDF
http://www.w3.org/RDF/Validator/
55
¿Por qué RDF o RDFS?
 Proporcionan un convenio aceptado por las partes, un
estándar para anotar recursos Web y hacer explícita su
semántica
 Es un lenguaje ontológico que da una especificación formal
de una conceptualización compartida
 RDF Schema posibilita:
Especificación
Compartición (para eso esta la Web, ¿no?)
¿Formalidad?
 ¿Es RDF Schema suficientemente expresivo?
56
¿Por qué RDF o RDFS?
 RDF es un modelo de datos basado en grafos para la representación de meta-datos
La idea básica consiste en definir recursos mediante sus propiedades
 Es posible escribir RDF en XML
 RDF Schema permite definir el vocabulario para RDF, y proporciona un grado más
hacia lo que debe ser un lenguaje ontológico
Clases, subclases, propiedades, limitaciones de rango y dominio, ...
Todavía no se puede expresar todo lo que se necesita
57
¿Por qué RDF o RDFS? ¿Qué falta?
 Restricciones de cardinalidad
Un país sólo puede tener una capital
 Conjunción, disyunción, negación, equivalencia
Países y ciudades son disjuntos: no se puede ser a la vez, país y ciudad
 Restricciones de valores localizados
Cuando la propiedad ‘población’ se utiliza sobre una ciudad, su valor debe
ser entre 10.000 y 20 millones
 Especificación formal de la ontología
Por ahora sólo se tiene una especificación en lenguaje natural
 Una forma de acceder a la información
Si se quiere usar para responder preguntas es necesario un lenguaje de
consultas (como SQL para bases de datos, o XQL para XML)
58
Ventajas RDF sobre XML
• Muy utilizado y mayor capacidad de interoperar
– Clases y propiedades son fácilmente identificadas
– Vocabulario estandarizado (en cuanto a clases y en
cuanto a propiedades) [problema: se deben conocer los
namespaces para referenciarlos]
• RDF se escribe de forma normalizada a diferencia de XML
[quita la libertad en la creación de documentos de XML]
• Da un formato legible en la Web Semántica
59
Lenguajes de
Representación del
Conocimiento
60
Lenguajes
de Representación del
Le
Conocimiento
• RDF (Resource Description Framework):
– XML, herencia de clases (RDF-class, RDF-property)
– Expresividad similar a OO
• OWL (Ontology Web Language)
– Pensado para la Web Semántica
– Nivel Lite (similar RDF), DL (SHIQ), OWL full
(autoextensible)
– OWL-S
– Estándar de W3C (Febrero 2004)
Los lenguajes proporciona las primitivas básicas
para el modelado de ontologías, alcanzando
balance entre expresividad y razonamiento
61
Herramientas para el Desarrollo
de Ontologías
Herramienta
Dirección
Protégé
http://protege.stanford.edu/
Ontostudio
http://www.ontoprise.de/en/products/ontostudio/
KAON
http://kaon.semanticweb.org/
WSMO Studio
http://www.wsmostudio.org
Apollo
http://www.softpedia.com/get/Science-CAD/Apollo-KMI.shtml
CORESE
http://www-sop.inria.fr/acacia/soft/corese/
KIM
http://www.ontotext.com/kim
swoop
http://code.google.com/p/swoop/
Ontopia
http://www.ontopia.net/solutions/products.html
62
RAP API PHP
–Framework para almacenamiento, consulta y razonamiento con RDF y
RDF Schema
–Gestión de ontologías, almacenamiento y consultas contra ellas.
–Soporta RDF y es independiente del lenguaje.
–Soporta MySQL, Oracle, PostgreSQL
–Incluye varios componentes:
• ARP: un parser de RDF
• API RDF
• API de Ontologías y RDF Schema.
• Sistema de razonamiento
• Soporte para persistencia
• RDQL: Lenguaje de consultas de RDF
Almacenamiento
Persistente
Desnormalizado
http://sourceforge.net/projects/rdfapi-php/
Memoria
Normalizado
63
Trabajando con RAP
Framework para la creación
de aplicaciones que
Nivel Genérico
proporciona las interfaces y
clases para la creación y
RDF
Ontología
Recursos
manipulación de los
repositorios RDF.
Bajo
un
OntProperty
conjunto
herramientas
de
para
desarrolladores de PHP que
analizar,
almacenar,
manipular,
consultar
y
servir a los modelos RDF,
Es
una
OntClass
aplicación
código abierto.
Roles
Cargo
Nivel de Aplicación
Perfil
bajo
64
Modelo Normalizado
Consiste en varias tablas que en conjunto guardan también las tripletas:
rdf_statements, rdf_resources y rdf_literals).
Clase en RAP
DbStore • Se utiliza para establecer la
conexión de base de datos, así
como crear y recuperar los
modelos persistentes
DbModel • Proporciona métodos para la
manipulación de estos modelos.
• También hay una clase Model,
con algunas de las funciones
generales
comunes
para
ambos MemModel y DbModel 65
Creando la Base de Datos
1- Ajuste de la conexión de base de datos y crear
tablas
$mysql_database = ModelFactory::getDbStore('MySQL', 'host',
'db_name', 'user_name', 'password');
$access_database = ModelFactory::getDbStore();
2- Creación y recuperación de DbModels
Se crea el Modelo
$modelURI = "http://somewhere.edu/rap-v-06/tutorial/DbModel1";
$dbModel1 = $access_database->getNewModel($modelURI);
// Create a new memory model
$memModel = ModelFactory::getDefaultModel();
// Load and parse document
Se establece
$memModel->load("example1.rdf");
Dbmodel
3. Manipulación de una DbModel
$modelURI = "http://somewhere.edu/rap-v-06/tutorial/DbModel1";
if ($access_database->modelExists($modelURI))
echo “Modelo ya Existe: '$modelURI' already exists";
else $dbModel1 = $access_database->getNewModel($modelURI);
66
Usando la Base de Datos
<?php
Incluir la Clase
// Incluir RAP
// Se define una constante con la carpeta donde se encuentra el archivo
define ("RDFAPI_INCLUDE_DIR", "./../api/");
// Se define el api
include(RDFAPI_INCLUDE_DIR . "RDFAPI.php");
// Se crea el Modelo Dbstore que permite la conexión a la base de datos
$rdf_database = ModelFactory::getDbStore('MySQL', ‘localhost', 'db_name',
'user_name', 'password');
// Carga modelo mediante el URI
$dbModel = $rdf_database->getModel ("example1.rdf");
// Output the model as HTML table
$dbModel->writeAsHtmlTable();
Se crea el Modelo
Se carga el Modelo
67
Impresión del Modelo
HTML
– // Output $model1 as HTML table echo "<b>Output the MemModel as HTML table:
</b><p>"; $model1->writeAsHtmlTable(); – // Output the string serialization of $model1 echo "<b>Output the plain text serialization of the
MemModel: </b><p>"; echo $model1->toStringIncludingTriples();
String
– // Output the RDF/XML serialization of $model1 echo "<b>Output the RDF/XML serialization of the
MemModel: </b><p>"; echo $model1->writeAsHtml();
RDF/XML
68
Salida del Modelo HTML
Predicado
Sujeto
Objeto
69
Consulta con SPARQL
70
Operando con RAP
• Ajuste de la conexión de base de datos y crear
tablas
$mysql_database = ModelFactory::getDbStore('MySQL', 'host', 'db_name',
'user_name', 'password');
• Creación y recuperación (DbModel) se le asigna
un URI único (modelURI)
$modelURI = "http://somewhere.edu/rap-v-06/tutorial/DbModel1"; $dbModel1 = $access_database->getNewModel($modelURI);
if ($access_database->modelExists($modelURI)) echo "WARNING! DbModel Ya Existe";
else $dbModel1 = $access_database->getNewModel($modelURI);
• Manipulación del DbModel
http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/
71
Modelo Relacional
• SELECT:
SELECT *
FROM libro
WHERE precio > 100.00
ORDER BY titulo;
–
–
–
–
–
FROM (tables)
WHERE (predicate)
GROUP BY (rows)
HAVING (predicate on GROUP BY rows)
ORDER BY (columns)
72
SPARQL
SELECT ?name ?email
WHERE {
?person rdf:type foaf:Person.
?person foaf:name ?name.
?person foaf:mbox ?email. }
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT
?name ?email
WHERE {
?person
rdf:type
foaf:Person.
?person
foaf:name
?name.
?person
foaf:mbox
?email. }
73
Data:
SPARQL – Example 1
<http://example.org/book/book1>
<http://purl.org/dc/elements/1.1/title>
"SPARQL Tutorial" .
Query:
SELECT ?title
WHERE
{
<http://example.org/book/book1>
<http://purl.org/dc/elements/1.1/title>
?title . }
SPARQL permite realizar consultas
“semánticas” recorriendo las diferentes
relaciones establecidas en los grafos.
74
Caso práctico
Ejercicio
Crear una Ontología en Protégé
3.4.8
75
¿Por qué Protégé?
Permite:
• Edición de ontologías
• Creación de herramientas de adquisición de
conocimiento
– mediante formularios relacionados con las ontologías
descritas
• Creación de bases de conocimiento
– mediante la entrada de instancias particulares de los
datos de la ontología
• Ejecución de aplicaciones que operen sobre la
base de conocimiento
• Tiene una colección interesante de Plug-ins
Protégé
RDF
3.4.8
OWL
4.1
76
Protégé
• Es gratis, open source
• Está basado en Java, es extendible
• Es un editor de ontologías y marco de trabajo de
bases de conocimiento
• Define la estructura de una ontología
• Define y administra instancias


Protégé

RDF
3.4.8
OWL
4.1
Homepage
http://protege.stanford.edu/
Download
http://protege.stanford.edu/download/protege
/
Documentation
http://protegewiki.stanford.edu/index.php/
77
Formalización de la Ontología
con Protégé
78
78
Protégé
79
Protégé
Edición de
condiciones.
Botón para
más opciones
de consulta.
Área de
resultado de
la consulta
Botón para
ejecutar la
consulta.
80
Pasos para Crear una Ontología
con Protégé
1. Determinar el domino y alcance de la ontología
2. Considerar la reutilización de ontologías existentes
3. Enumerar términos importantes para la ontología
4. Definir las clases y la jerarquía de clases
5. Definir las propiedades de las clases: slots
6. Definir las facetas de los slots
7. Crear instancias
81
Componentes de la Ontología
de Ejemplo
propietario
tipo
color
Transporte
matricula
* propietario
modelo
* tipo
* color
personas
Sub-Clase-de
Terrestre
Aéreo
* propietario
* tipo
* color
Galpón
Sub-Clase-de
Carros
Instancia-de
Carro
Deportiv
o
Camiones
Sub-Clase-de
Motos
Instancia-de
Camión
Cisterna
Aviones
Helicópteros
* propietario
* tipo
* color
* Galpón
Instancia-de
Moto de
Carrera
Organización taxonómica del ejemplo
* matricula
* propietario
* modelo
* tipo
* color
Clase
Instancia
82
Aplicación de los Pasos para
Crear la Ontología
1. Domino y alcance de la ontología
Transporte
2. Reutilización de ontologías existentes???? No
3. Términos importantes para la ontología
a. Trasporte
b. Carros
c. Vehiculos
……
83
Aplicación de los Pasos para
Crear la Ontología
4. Clases y jerarquía
5. Propiedades de las clases: slots
84
Aplicación de los Pasos para
Crear la Ontología
6. Facetas de slots: Cardinalidad, Value-type, ennumerated,
boolean, instance
rango: clases permitidas para slots de tipo instance
dominio: clases a las que pertenece el slot
85
85
Aplicación de los Pasos para
Crear la Ontología
Valor de un slot
Tipo
Descripción
Any
Cualquiera de los siguientes
tipos
Boolean Valor Lógico
Ejemplos
Verdadero, Falso
Class
Otra Clase de la base de
conocimiento
Organización
Float
Número real
1.0, 3.410, -0.
Instance Instancia de una clase
Integer
String
Symbol
instance_00010
Número entero
1, 2, -4
Cadena de caracteres
“Luis Alberto Pérez"
Lista enumerada de valores
Rojo, Azul y Verde
86
Aplicación de los Pasos para
Crear la Ontología
7. Crear las instancias
Listo a utilizar su ontología
87
Caso práctico
Vídeos de implementación en PHP
88
Caso práctico
Ejercicio Libre Consulta de una
Ontología con Java o PHP
89
SESAME vs. JENA vs. RacerPro
Jena Soporta OWL
RacerPro Soporta OWL
Sesame Soporta RDF Schema
Jena Expresión de busqueda con SPARQL
RacerPro Expresión de busqueda con SPARQL
Sesame Mayor expresión SeRQL. Se puede usar
diferentes lenguaje de busqueda (RQL, RDQL, SeRQL,
SPARQL )
Jena Potente Motor basado en reglas de inferencia
RacerPro Potente Motor basado en reglas de
inferencia
Sesame Muy bajo razonamiento.
90
Cierre
• Existen un conjunto de herramientas de la Web
Semántica para desarrollador… RAP JENA…
• Iniciar con ontologías sencillas y hay que hacer
muchas prueba prueba prueba…
• Se recomienda usar los plugin de Protégé ante de
entrar a una aplicación….
• Reutilizar y compartir todo lo que se pueda…
91
Conclusiones
¿Que Podemos Decir?
• La Interoperatibilidad Semántica es aún una visión que ha comenzado a
caminar pero aún tiene mucho camino por delante
• Comienzan a haber herramientas apropiadas y estándares emergentes
• Les posibilidades que tiene justifican al menos no perder de vista este
tema
• Algunas organizaciones comienzan a utilizarla
• Existen herramientas para desarrollador… RAP JENA… Piense iniciar con
ontologías sencillas y hay que hacer muchas prueba prueba prueba…
• Se recomienda usar los plugin de Protégé ante de entrar a una
aplicación….Reutilizar y compartir todo lo que se pueda
92
Conclusiones
Posibilidades
• Recuperación de información
mejorando las posibilidades de los
motores de cerca
• Catalogación para describir el
contenido y las relaciones entre
los contenidos de una pagina o
sede web, una Intranet, o una
biblioteca entera
• Los agentes de software
inteligentes se pueden
beneficiar de RDF para encontrar
y "entender" más fácilmente el
significado de la información que
procesan y detectar el nivel de
relevancia.
• Calificación de contenidos.
Para facilitar la valoración
del contenido de artículos,
páginas web, etc.
• Para describir los
derechos de propiedad de
las páginas web, para
expresar las preferencias de
privacidad de un usuario, las
políticas de privacidad de una
sede Web
• Para facilitar la seguridad al
comercio electrónico unido
con las firmas digitales.
93
Para Cerrar….
“La interoperabilidad es una cuestión
de Estado que requiere un liderazgo
claro y un avance en todos los
sectores de la sociedad para que el
ciudadano tenga un beneficio pleno”
Fuente:
Grupo
de
trabajo
Administración Electrónica de
Sectorial CRUE-TIC España
de
la
94
Referencias de Interés
• PlanetRDF
Planetrdf.com/guide/
• RDF Model and Syntax Specification (W3C Recommendation)
http://www.sidar.org/recur/desdi/traduc/es/rdf/rdfesp.htm
http://www.w3.org/TR/REC-rdf-syntax
• RDF Schema Specification (W3C Candidate
Recommendation)
http://www.w3.org/TR/rdf-schema/
• RDF tutorial (rather technical...)
http://www710.univ-lyon1.fr/~champin/rdf-tutorial/
• W3C's RDF links collection
http://www.w3.org/RDF/
• The Semantic Web: the roles of XML and RDF
http://www.cs.vu.nl/~jbroeks/papers/IEEE-IC.pdf
95
Algunas Referencias de Interés….
• Borst, W., (1997), Construction of Engineering Ontologies for Knowledge Sharing and
Reuse:
Ph.D.
Dissertation,
University
of
Twente.
Disponible
en:
http://doc.utwente.nl/17864/1/t0000004.pdf
• Devedzic Vladan. (2002). Understanding ontological Engineering. University of
Belgrade. Yugoslavia. School of business Administration Department of Information
Systems. Yugoslavia Communications of the ACM. Volume 45. Issue 4.
• Gómez-Pérez, A., Fernández-López, M., Corcho, O. (2004) Ontological Engineering.
Springer Verlag. Londres.
• Gruber, T. (1993). Toward Principles for the Design of Ontologies Used for Knowledge
Sharing. Available as Technical Report KSL 93-04, Knowledge Systems Laboratory,
Stanford University. Disponible en: http://citeseer.ist.psu.edu/gruber93toward.html
• Ramos, E. y Nuñez, H. (2007). ONTOLOGÍAS: componentes, metodologías, lenguajes,
herramientas y aplicaciones. RT 2007-12. Lecturas en Ciencias de la Computación. ISSN
1316-6239
• Tramullas, J. (1999). Agentes y ontologías para el tratamiento de información:
clasificación y recuperación en Internet. IV Congreso ISKO España. Granada 22-24 Abril.
p.247-252 Disponible en: http://www.tramullas.com/papers/isko99.pdf
• Uschold, M. (1996). Building Ontologies: Towards a Unified Methodology. Artificial
Intelligence Application Institute. University of Edinburgh. Reino Unido. Disponible en:
96
http://citeseer.nj.nec.com/uschold96building.html
96
Preguntas…..
Gracias por su tiempo...
97
Muchas gracias!
Franklin Sandoval
[email protected]
William Bustamante
[email protected]
98
98
Descargar