61
Ontologías Prof. Bach. Kryscia Ramírez Benavides 30/03/2005

Ontologias

  • Upload
    udelas

  • View
    203

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Ontologias

Ontologías

Prof. Bach. Kryscia Ramírez Benavides

30/03/2005

Page 2: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

2

Agenda

• Introducción• ¿Qué es una ontología?• Aplicaciones• Elementos de una ontología• Beneficios de las ontologías• Principios de construcción• Pasos para construir ontologías

Page 3: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

3

Agenda

• Desarrollo de ontologías Lenguajes

RDF/RDF-S DAML+OIL OWL

Herramientas Protégé RACER

• Agentes y ontologías• Ejemplo: Ontología de Pizzas

Page 4: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

4

Introducción

• Nuevas tecnologías Web proponen nuevas técnicas y paradigmas para la representación de conocimiento que faciliten localizar, compartir e integrar recursos

• Conocimiento semántico explícito que describe y estructura la información y los servicios disponibles

• Creciente interés en la reutilización, para reducir recursos, costos y tiempo

Page 5: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

5

¿Qué es una ontología?

• El término es tomando de la filosofía y se refiere a existencia

• Para la IA, lo que “existe” es aquello que puede ser representado

• Definición más completa y utilizada es la de Gruber (1993) y extendida por Studer (1998):

Una especificación explícita y formal de una conceptualización compartida

Page 6: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

6

¿Qué es una ontología? (cont.)

• Conceptualización: Una forma de entender o describir un dominio, modelo abstracto

• Explícita: Satisface la necesidad de especificar de forma consciente los distintos conceptos que conforman una ontología

• Formal: Sigue alguna especificación formal de un lenguaje de representación

• Compartida: Conocimiento aceptado como mínimo por el grupo de personas que van a usarla

Page 7: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

7

Aplicaciones

• Comercio electrónico• Gestión de conocimientos• Sistemas de agentes• Portales de páginas Web• Indexación de páginas Web• Recuperación de información• Procesamiento de lenguaje natural• Web semántica

Page 8: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

8

Elementos de una ontología

• Conceptos Clases Categorías• Relaciones Propiedades Slots• Funciones• Instancias• Axiomas

Page 9: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

9

Beneficios de las ontologías

• Proporcionan una forma de representar y compartir el conocimiento utilizando un vocabulario común

• Permiten reutilización del conocimiento• Permiten usar un formato de intercambio de

conocimiento• Proporcionan un protocolo específico de

comunicación• Mantienen la semántica de la información

Page 10: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

10

Principios de construcción

• Claridad y Objetividad• Completitud• Coherencia• Máxima Extensibilidad Monótona• Principio de Distinción Ontológica• Diversificación• Estandarización• Minimización

Page 11: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

11

Pasos para construir ontologías

• Determinar el dominio y el alcance de la ontología• Considerar reutilizar ontologías existentes• Enumerar los términos importantes del dominio• Definir las clases y la jerarquía de las clases• Definir las propiedades (slots) de las clases• Definir las restricciones de las propiedades• Crear instancias

Page 12: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

12

Lenguajes

• Es la forma en que se representa un contexto en particular

• Garantiza que la ontología sea una especificación formal explícita

• Existen muchos lenguajes que van a permitir esa definición

• No todos van a permitir el mismo nivel de expresividad a la hora de definir ontologías

Page 13: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

13

Lenguajes (cont.)

• Honrubia expone que un lenguaje debe tener los siguientes requisitos: Sintaxis bien definida Semántica bien definida Suficiente expresividad Fácilmente maleable Eficiente a la hora de realizar razonamiento

Page 14: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

14

Lenguajes (cont.)

• El lenguaje a utilizar para modelar ontologías depende de las características y condiciones que se necesiten

• Existen lenguajes para definición de ontologías clasificados de acuerdo a su representatividad y objetivo

• Algunos son: RDF/RDF-S DAML+OIL OWL

Page 15: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

15

RDF (Resource Description Framework)

• Especificación propuesta por W3C• Declara meta-información de forma global (URI)• Información manejable por una máquina• Basado en XML• Modelo simple (grafo dirigido)• Modelo de datos básico consta:

Recursos Propiedades Declaraciones

Page 16: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

16

RDF (Resource Description Framework) (cont.)

• RDF es un conjunto de tripletas: sujeto (recurso), predicado (propiedad) y objeto (valor de la propiedad)

Subject

Object

Object

Predicate

Predicate

= URI o Node Blank

= Literal (plain or typed)

= Property or Association (URI)

Page 17: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

17

RDF-S (RDF Schema)

• Proporciona un sistema entendible por la máquina para definir esquemas para vocabularios específicos

• Permite especificar clases de tipos de recursos y propiedades

• Es un conjunto de recursos RDF (incluyendo clases y propiedades), y las restricciones en sus relaciones

Page 18: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

18

RDF/RDF-S

• RDF/RDF-S: Ofrece los mínimos requerimientos para el desarrollo de una

ontología Expresividad es limitada Es un lenguaje semántico que une la información de una

página a semántica legible por máquinas Ofrece pocas restricciones y muy poco razonamiento (casi

no ofrece mecanismos de inferencia)

Page 19: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

19

DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer)

• Lenguaje de marcado semántico para los recursos Web

• Basado en estándares de W3C como RDF/Esquema RDF, y extiende estos lenguajes modelando primitivas más poderosas

• DAML+OIL une RDF/RDF-S con una capa de inferencias para ontologías brindado: Una semántica precisa para la descripción de significados de

los términos Un buen razonamiento

Page 20: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

20

DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) (cont.)

• Surge de la unión: DARPA Agent Mark-Up Language (DAML) Ontology Inference Layer (OIL)

• DAML+OIL toma lo mejor de DAML y OIL e intenta combinarlos en un lenguaje que: Proporciona una manera de buscar información en la Web “Entienda” la información que se encuentra en la Web

• Es más que apto para la construcción de ontologías

Page 21: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

21

OWL (Web Ontology Language)

• Basado en RDF y DAML+OIL• Último estándar en los lenguajes para construir

ontologías, desarrollado por W3C• Tiene fundamentos matemáticos formales basados

en las Lógicas Descriptivas• Eso permite usar un razonador (RACER) para

comprobar la ontología según se construya

Page 22: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

22

OWL (Web Ontology Language) (cont.)

• Elementos básicos: Clases (conceptos) Propiedades (relaciones) Individuos (instancias)

Mascota

Fuffly

Fido

País

Costa Rica

España

Italia

Persona

Kryscia

Franklin

casadoCon

tieneMascota

viveEnPaís

viveEnPaís

Page 23: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

23

OWL (Web Ontology Language)

• Representa el significado de términos explícitamente en vocabularios y las relaciones entre esos términos

• Es la representación de conocimiento más expresiva para la Web Semántica

• Proporciona tres lenguajes expresivos: OWL Lite OWL DL OWL Full

Page 24: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

24

OWL (Web Ontology Language) (cont.)

• No le agrega más funcionalidades a DAML+OIL, toma los elementos que este lenguaje proporciona para adecuarlos y mejorarlos: Agrega más elementos para enriquecer la representación

semántica e inferencia Elimina algunos elementos cuyo significado era opaco para

agentes que utilizan el RDF/RDF-S, y los elementos de restricciones de cardinalidad calificadas

Cambia el nombre de otros elementos manteniendo su función

• Es el lenguaje de representación de conocimiento más expresivo para la Web Semántica

Page 25: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

25

OWL (Web Ontology Language) (cont.)

• Elementos de OWL Lite: RDF-S (Esquema RDF)

Class rdfs:subClassOf rdf:Property rdfs:subPropertyOf rdfs:domain rdfs:range Individual

Page 26: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

26

OWL (Web Ontology Language) (cont.)

• Elementos de OWL Lite: Igualdad y desigualdad

equivalentClass equivalentProperty sameAs differentFrom AllDifferent distinctMembers

Page 27: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

27

OWL (Web Ontology Language) (cont.)

• Elementos de OWL Lite: Combinaciones booleanas de expresiones de clase

intersectionOF Características de propiedad

ObjectProperty DatatypeProperty inverseOf TransitiveProperty SymmetricProperty FunctionalProperty InverseFunctionalProperty

Page 28: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

28

OWL (Web Ontology Language) (cont.)

• Elementos de OWL Lite: Restricciones de propiedad

Restriction onProperty allValuesFrom someValuesFrom

Restricciones de cardinalidad (sólo pueden ser 0 ó 1) minCardinality maxCardinality Cardinality

Page 29: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

29

OWL (Web Ontology Language) (cont.)

• Elementos de OWL Lite: Propiedades de anotaciones

rdfs:label rdfs:comment rdfs:seeAlso rdfs:isDefinedBy

Elementos para definir la información de la versión, la información del encabezado y otras propiedades de anotación

Page 30: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

30

OWL (Web Ontology Language) (cont.)

• Elementos de OWL DL y OWL Full: Axiomas de clase

oneOf disjointWith equivalentClass rdfs:subClassOf

Combinaciones booleanas de expresiones de clase intersectionOF unionOF complementOF

Rasgos de información de relleno hasValue

Page 31: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

31

OWL (Web Ontology Language) (cont.)

• Lógica Descriptiva (DL): La rama lógica dentro de la familia de los marcos (frames) Subconjuntos de la lógica de primer orden

computacionalmente tratables Describen relaciones entre conceptos (clases)

Los individuos (instancias) son secundarios, las ontologías no son bases de datos

Conceptos (clases), Individuos (instancias o ejemplares de las clases) y Relaciones entre los individuos

Page 32: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

32

OWL (Web Ontology Language) (cont.)

• Clases Definidas versus Clases Primitivas: Clases Definidas: Se define un conjunto de condiciones

suficientes para reconocer cualquier subclase o instancia de la clase

Clases Primitivas: Se define sólo, se indican, las condiciones necesarias que se aplican a todas las instancias de la clase

• Dominio versus Rango: Dominio: Una o más clases que se les asigna una propiedad Rango: Una o más clases donde se obtienen los valores de

una propiedad

Page 33: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

33

OWL (Web Ontology Language) (cont.)

• Construir Ontologías en OWL-DL: Se comienza por una taxonomía de clases primitivas

Deben formar árboles Recordar que la condición de clases disjuntas debe establecerse

explícitamente Hay que tener cuidado

Hacer las disyunciones explícitamente Razonamiento del mundo abierto Restricciones universales y existenciales Restricciones de dominio y rango

Page 34: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

34

OWL (Web Ontology Language) (cont.)

• El principio básico para ontologías normalizadas Construir ontologías a partir de árboles puros de clases

primitivas Cada clase primitiva tiene sólo un padre primitivo

Page 35: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

35

OWL (Web Ontology Language) (cont.)

• Errores frecuentes en OWL: Olvidar hacer explícito que las clases sean disjuntas No comprender las implicaciones del razonamiento del

mundo abierto (Mal) Usar restricciones universales en vez de restricciones

existenciales Confundir dominio y rango

Page 36: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

36

OWL (Web Ontology Language) (cont.)

• Razonamiento Mundo Cerrado versus Razonamiento Mundo Abierto: Mundo Cerrado:

La negación como fallo Si no lo encuentro (o no puedo probarlo) en este mundo, se

asume que es falso Se usa en sistemas de BD, en programación lógica, lenguajes de

restricciones, entre otros. Mundo Abierto:

La negación como contradicción Si no lo encuentro en este mundo, se asume que es posible, a

no ser que sea imposible en cualquier mundo (es una contradicción). La negación debe ser explícita

Se usa en los demostradores automáticos de teoremas y en los razonadores DL (y en OWL)

Page 37: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

37

OWL (Web Ontology Language) (cont.)

• Razonamiento del Mundo Abierto: OWL utiliza la hipótesis de mundo abierto: Open World

Assumption (OWA) Muchos usuarios de OWL provienen de sistemas de mundo

cerrado como las bases de datos La información que no se haya añadido de forma explícita a

la base de conocimiento se asume que es información pérdida o desconocida que podría ser añadida en el futuro

Para eso se usan los axiomas de cierre sobre el atributo

Page 38: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

38

OWL (Web Ontology Language) (cont.)

• Restricciones Universales versus Restricciones Existenciales: Las restricciones se usan para limitar las relaciones válidas

entre individuos La mayoría de los usuarios tienden a usar las restricciones

universales (que afectan todos los valores) Sin embargo, la mayoría de las veces, el tipo de restricción

corresponde con las restricciones existenciales Cualquier restricción existencial (someValuesFrom, ) que

se rellene con una contradicción es en sí misma una contradicción

Una restricción universal (allValuesFrom, ) que se rellene con una contradicción puede ser cumplida de forma trivial

Page 39: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

39

OWL (Web Ontology Language) (cont.)

• Dominio y Rango: Confusión típica porque el dominio y el rango no son

restricciones que se comprueban Son axiomas que se utilizan para que el razonador haga

ciertas inferencias Violar una restricción de dominio y rango no significa

necesariamente que la ontología sea inconsistente o que contenga errores

Las restricciones de dominio y rango son axiomas, en OWL son equivalentes a restricciones de tipo allValuesFrom

En la mayoría de los sistemas violar una restricción de dominio y rango provoca un error. En OWL provoca reclasificación y posiblemente inconsistencias

Page 40: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

40

OWL (Web Ontology Language) (cont.)

• Otros aspectos que suelen ser fuente de confusión: Aspectos lógicos clásicos

Uso lingüístico frente al uso lógico AND y OR Diferencias entre las clases primitivas y definidas Herencia múltiple:

Los conceptos primitivos deberían (idealmente) tener sólo un concepto padre

Page 41: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

41

Requisitos de los lenguajes

• Los requisitos que cumplen los lenguajes RDF/RDF-S, DAML+OIL y OWL son:

Requisito RDF/RDF-S DAML+OIL OWLSintaxis bien definida Semántica bien definida Suficiente expresividad Fácilmente maleable Eficiente a la hora de razonar (muy poco)

Page 42: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

42

Funcionalidades de los lenguajes

• Las funcionalidades ofrecidas por los lenguajes RDF/RDF-S, DAML+OIL y OWL son:

Funcionalidad RDF/RDF-S DAML+OIL OWLListas delimitadas

Restricciones de cardinalidad

Expresiones de clase

Tipos de datos (sólo básicos)

Clases definidas

Enumeraciones

Equivalencia

Extensibilidad

Semántica formal

Herencia

Inferencia

Restricciones locales

Restricciones calificadas

Reification

Page 43: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

43

Herramientas

• Las herramientas para desarrollar ontologías son tan variadas como los lenguajes

• Las herramientas que serán discutidas y utilizadas son: Protégé RACER

Page 44: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

44

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

Page 45: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

45

Protégé

• Integrado con GUI y plugins: OWLWizard – Plugin para guiar paso a paso en la

construcción de clases, propiedades, etc. OWLViz — Plugin para el despliegue gráfico de las jerarquías

de las clases ezOWL – Plugin para el despliegue gráfico de las jerarquías

de las clases, las propiedades y restricciones de cada clase JADEBean Generator — Plugin para producir clases Java a

partir de la ontología, para que JADE puede utilizar y entender la ontología

Page 46: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

46

RACER

• Razonador (clasificador) basado en lógicas descriptivas

• Sistema de razonamiento de lógica descriptiva• Motor de inferencia semántico para desarrollar

ontologías• Proveedor de la lógica modal KM con calificadas

modalidades y axiomas.

Page 47: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

47

Agentes y ontologías

• Una ontología se escribe en algún lenguaje de formalización de ontologías que la hace independiente del contexto de uso

• Varios agentes pueden compartir conocimiento si están de acuerdo en la semántica dada por una cierta ontología

• Una ontología común define el vocabulario con el que los agentes intercambian mensajes (consultas y asertos)

Page 48: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

48

Agentes y ontologías (cont.)

• Que dos agentes compartan un vocabulario no significa: Que compartan la misma base de conocimiento Que sea capaz de contestar cualquier pregunta formulada

con ese vocabulario

• Un compromiso de un agente con una cierta ontología garantiza la consistencia pero no la completitud respecto a las consultas y asertos utilizando el vocabulario de la ontología

Page 49: Ontologias

Ejemplo:Ontología de Pizzas

Page 50: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

50

¿Qué se necesita?

• Lenguaje OWL• Protégé, versión 3.0

Plugin OWL Plugin OWLWizard Plugin OWLViz Plugin ezOWL Plugin BeanGenerator

• RACER• Graphviz, versión 1.12

Page 51: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

51

Lo primero es…

• Instalar Protégé, completo• Colocar el ejecutable de RACER en la ruta deseada• Abrir Protégé• Seleccionar OWL Files como formato para el nuevo

proyecto New para empezar un proyecto nuevo, o Build… para usar

un archivo OWL existente

Page 52: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

52

Lo primero es… (cont.)

• Seleccionar en el menú Project la opción Configure y marcar: OWLViz ezOWL

• Seleccionar en el menú OWL la opción OWL Preferences y, en la pestaña General en la parte llamada Language Profile escoger OWL DL

• Guardar el proyecto como pizzaOntology-v1• Poner a ejecutar RACER

Page 53: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

53

Jerarquía de Clases de la Ontología Pizza

Page 54: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

54

Construcción de la ontología

• Primeras clases a crear: DomainEntity SelfStandingEntity (subclase de DomainEntity) Con el Wizard hacer el grupo de clases:

Pizza – PizzaBase – PizzaTopping (subclases de SelfStandingEntity)

ThinBase – HeavyBase (subclases de PizzaBase) VegetableTopping – MeatTopping – FishTopping -

CheeseTopping - FruitTopping (subclases de PizzaTopping)

Page 55: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

55

Construcción de la ontología

• Primeras clases a crear: Con el Wizard hacer el grupo de clases:

Mushroom – Tomato – HotPepper – Onion (subclases de VegetalTopping)

Pepperoni – Jam – SpicyBeef (subclases de MeatTopping) Anchovies – Tuna (subclases de FishTopping) Mozzarella – Parmesan (subclases de CheeseTopping) Pineapple (subclase de FruitTopping)

Page 56: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

56

Construcción de la ontología

• Propiedades a crear: hasPart, dominio Pizza Subpropiedades de hasPart:

hasBase, dominio Pizza y rango PizzaBase, único valor, por lo menos una base, funcional y funcional inversa

hasTopping, dominio Pizza y rango PizzaTopping, multiple, al menos un ingrediente

hasFatContent, dominio PizzaTopping y rango FatContent hasSpiciness, dominio PizzaTopping y rango Spiciness

Page 57: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

57

Construcción de la ontología

• Clases a crear (subclases de Pizza): MargheritaPizza: mozzarella y tomato SpicyBeefPizza: mozarrella, tomato y spicy beef ProteinLoversPizza: MeatTopping – FishTopping –

CheeseTopping (clase definida, anaranjado) HotSpecialPizza: mozzarella, tomato, hot pepper y spicy beef CheesePizza: CheeseTopping (clase definida, anaranjado) VegetarianPizza: VegetableTopping – CheeseTopping (clase

definida, anaranjado)

Page 58: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

58

Construcción de la ontología

• Clase a crear: ValuePartition (los valores son disjuntos), usar Wizard –

Create Value Partition: Spiciness, valores: Hot, Medium, Bland FatContent, valores: LowFat, HighFat

Page 59: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

59

Ejemplo con BeanGenerator

• Guardar y cerrar el proyecto, si se encuentra abierto Si se gusta se puede guardar con otro nombre

• Incluir el proyecto OWLSimpleJADEAbstractOntology.pprj Abrir con un editor de texto (ej. TextPad) el archivo

pizzaOntology-V1.pprj Buscar el apartado que inicia: [PROJECT] of Project Agregar debajo de ese apartado: (included_projects

"OWLSimpleJADEAbstractOntology.pprj") Guardar y cerrar

• Abrir el proyecto donde realizó la modificación anterior

Page 60: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

60

Jerarquía de Clases de la Ontología Pizza

Page 61: Ontologias

Elaborado como parte del Proyecto @LisTechNet - WP4Escuela de Ciencias de la Computación e Informática

61

Referencias

• RDF, DAML+OIL y OWL: http://www.w3.org http://www.daml.org

• Protégé: http://protege.stanford.edu

• RACER: http://www.sts.tu-harburg.de/~r.f.moeller/racer/