Ontologías teoria introducción



Descargar 240,74 Kb.
Página3/3
Fecha de conversión08.06.2017
Tamaño240,74 Kb.
1   2   3

Figura 5: Grafo RDF que describe a Eric Miller [RDFPrimer04].
RDF expresa, mediante su modelo de datos, las relaciones semánticas entre los niveles de las instancias en términos de tripletas: . Pero RDF cuenta también con el Esquema RDF, para expresar relaciones entre los niveles de las clases que describen relaciones entre los niveles de las instancias aceptables.


      1. RDF-S

En [RDFConAbsSyn04 y RDFS00] se define un esquema como un sitio donde se documentan (se explican) las definiciones y restricciones del uso de las propiedades. RDF utiliza un esquema para expresar el significado. Un esquema RDF es como en una especie de diccionario y, define los términos que se utilizarán en una declaración (sentencia) RDF y le otorgará significados específicos. Con RDF pueden utilizar una gran variedad de formas de esquema, incluyendo una forma específica definida en un documento aparte llamado Esquema RDF, que tiene algunas características específicas para ayudar a la automatización de tareas usando RDF. [RDFConAbsSyn04 y RDFS00]

La especificación del Esquema RDF proporciona un sistema entendible por la máquina para definir esquemas para vocabularios específicos como el Dublin Core (DC)4. Esto permite especificar clases de tipos de recursos y propiedades para dar a conocer descripciones de esas clases, relaciones entre esas propiedades y clases, y las restricciones en las combinaciones permitidas de clases, propiedades y valores. [DaOS03, pp.104-111]

El lenguaje de descripción del esquema es un simple conjunto de recursos y propiedades definidos por el estándar. El mecanismo del Esquema RDF es un conjunto de recursos RDF (incluyendo clases y propiedades), y las restricciones en sus relaciones. El vocabulario principal del Esquema RDF abstracto puede utilizarse para hacer sentencias RDF que definan y describan vocabularios de aplicación específicos tales como el conjunto de elementos del Dublin Core. [DaOS03, pp.104-111]

RDF en sí mismo no puede construir ontologías, necesita el Esquema RDF para poder ser un lenguaje para ontologías. Ya que, RDF sólo representa las instancias, mientras que el Esquema RDF representa la estructura de las instancias definiendo clases y propiedades.


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

DAML+OIL es un lenguaje de marcado semántico para los recursos Web. Está construido basado en estándares de W3C como RDF y el Esquema RDF, y extiende estos lenguajes modelando primitivas más poderosas. El lenguaje DAML+OIL está escrito en RDF y es un tipo específico de marcado RDF. Recuérdese que el lenguaje RDF a su vez, está escrito en XML, usando XML Namespaces, y URIs.



DARPA Agent Mark-Up Language (DAML) está siendo diseñado como un “lenguaje semántico que une la información de una página a semántica leíble por máquinas (ontología)”, basado en XML. El diseñador de DAML, Jim Hendler, “ha comenzado a trabajar con Berners-Lee y el W3C para asegurar que DAML cumple con los planes del Web semántico, que estaría basado primariamente en RDF”. [DAML+OIL01]

Ontology Inference Layer (OIL) es una propuesta para una representación basada en web y una capa de inferencias para ontologías, que combina las primitivas modeladas de los marcos basados en la semántica formal y los servicios proveídos por descripción lógica. Es compatible con el Esquema RDF (RDFS), e incluye una semántica precisa para la descripción de significados de los términos. [DAML+OIL01]

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 y, en un futuro, “entienda” la información que se encuentra en la Web. Una ontología DAML+OIL consiste de cero o más headers (encabezados), seguida por cero o más elementos de clases, elementos de propiedades e instancias. [DAML+OIL01]



    1. OWL (Web Ontology Language)

El lenguaje OWL se utiliza para representar el significado de términos explícitamente en vocabularios y las relaciones entre esos términos, esta representación de términos y sus interrelaciones se llama ontología.

OWL es hasta ahora la representación de conocimiento más expresiva para la Web Semántica. Esto se debe a que OWL agrega más vocabulario para describir propiedades y clases, relaciones entre las clases, restricciones, cardinalidad, igualdad y desigualdad, combinaciones booleanas de clases, características de propiedades, y clases enumeradas. [OWLOver04 y OWLRef04]

En las secciones siguientes se hablará de los lenguajes de OWL y la descripción general de este lenguaje.




      1. Lenguajes de OWL

OWL proporciona tres lenguajes expresivos, diseñados para el uso de comunidades específicas de implementadores y usuarios. En [OWLOver04 y OWLRef04] se describen estos lenguajes como:



    • OWL Lite es un lenguaje simple, pero es más expresivo que el Esquema RDF. Diseñado para proveer a los usuarios un conjunto funcional, principalmente para realizar jerarquías de clasificación y restricciones simples, y es de uso fácil. Permite definir una ontología de clases y propiedades, y las instancias de esas clases y propiedades. OWL Lite facilita la compatibilidad con otros modelos y el desarrollo de herramientas, ofreciendo un razonamiento eficiente.

    • OWL DL es un lenguaje que se extiende de OWL Lite, pero permitiendo la elaboración de ontologías con más detalle semántico. Diseñado para proveer máxima expresividad, manteniendo completitud y computabilidad, logrando apoyar la lógica de descripción y contar con un conjunto de características deseables para que los sistemas razonen.

    • OWL Full es un lenguaje que se extiende de OWL DL, pero a diferencia de OWL DL, OWL Full permite que las clases sean instancias de otra clase. Diseñado para dar libertad sintáctica de RDFS sin garantías computacionales. Esto ocasiona que es improbable que cualquier software para razonamiento pueda dar un razonamiento completo para cada rasgo de OWL Full.

Cada uno de estos lenguajes es una extensión de su predecesor más simple, por ello se tienen las siguientes reglas:

    • Cada ontología OWL Lite es una ontología legal en OWL DL.

    • Cada ontología OWL DL es una ontología legal en OWL Full.

    • Cada conclusión OWL Lite es una conclusión válida en OWL DL.

    • Cada conclusión OWL DL es una conclusión válida en OWL Full.

Al tener conocimiento de los subconjuntos en que se divide OWL, se describe en la sección siguiente la sintaxis y la semántica del lenguaje, y los elementos que proporciona OWL para cada uno de sus lenguajes.


        1. Lenguaje OWL Lite

[OWLAbsSynSem03] proporciona una descripción informal de los rasgos del lenguaje OWL Lite que se muestra en el Cuadro 5, como OWL es una extensión de RDF y es el sucesor de DAML+OIL, muchos de los elementos mencionados fueron descritos con detalle en las secciones donde se describieron estos lenguajes. Para más detalles se puede consultar [OWLRef04], [OWLReq03] y [OWLGuide04].

Cuadro 5: Descripción de OWL Lite [OWLAbsSynSem03].

RDF-S (Esquema RDF)

Class

Define clases RDF.

rdfs:subClassOf

Define que una clase es una subclase de otra clase.

rdf:Property

Define propiedades RDF.

rdfs:subPropertyOf

Define que una propiedad es una subpropiedad de otra propiedad.

rdfs:domain

Define el dominio de la propiedad.

rdfs:range

Define el rango de la propiedad.

Individual

Define instancias de clases o instancias de propiedades.

Igualdad y Desigualdad

equivalentClass

Define que dos clases son equivalentes, o sea, tiene las mismas instancias. Contiene una expresión de clase. Este elemento es utilizado para crear clases sinónimas. Descrito en el lenguaje DAML+OIL (sameClassAS).

equivalentProperty

Define que dos propiedades son equivalentes, o sea, tiene las mismas instancias. Este elemento es utilizado para crear propiedades sinónimas. Descrito en el lenguaje DAML+OIL (samePropertyAS).

sameAs

Define que dos instancias son iguales (la misma), instancias equivalentes. Este elemento es utilizado para crear varios nombres diferentes que se refieren a la misma instancia. Descrito en el lenguaje DAML+OIL (sameIndividualAS).

differentFrom

Define una instancia que debe ser diferente a las instancias especificadas.

AllDifferent

Define instancias que deben ser mutuamente distintas de todas las instancias que sean especificadas.

distinctMembers

Este elemento se usa con owl:AllDifferent, para declarar que todos las instancias de una lista son distintas.

Combinaciones Booleanas de Expresiones de Clase

intersectionOF

Define intersecciones de clases y de relaciones.

Características de Propiedad

ObjectProperty

Relaciona objetos a otros objetos, propiedades con valores de objetos.

DatatypeProperty

Relaciona objetos a valores datatype, propiedades con valores datatypes.

inverseOf

Define que una propiedad es inversa a otra propiedad. Si una propiedad P es inversa a una propiedad P’, y si el par (x,y) es una instancia de P, el par (y,x) es una instancia de la propiedad P’. Descrito en el lenguaje DAML+OIL.

TransitiveProperty

Define que una propiedad es transitiva. Si una propiedad P es transitiva, y si el par (x,y) es una instancia de P y el par (y,z) es otra instancia de P, entonces el par (x,z) también será una instancia de P.

SymmetricProperty

Define que una propiedad es simétrica. Si una propiedad P es simétrica, y si el par (x,y) es una instancia de P, entonces el par (y,x) también es una instancia de la propiedad P.

FunctionalProperty

Define una propiedad que tiene un único valor. Si una propiedad es FunctionalProperty, entonces tiene un solo valor para cada instancia (no puede tener más de un valor por instancia). Descrito en el lenguaje DAML+OIL (UniqueProperty).

InverseFunctionalProperty

Define una propiedad inversa funcional. InverseFunctionalProperty, es lo inverso del elemento FunctionalProperty. Así que lo inverso de la propiedad tiene un valor a lo sumo para cada instancia. Descrito en el lenguaje DAML+OIL (UnambiguousProperty).

Restricciones de Propiedad

Restriction

Define restricciones locales a la clase que se define.

onProperty

Define la restricción de la propiedad que se aplicará.

allValuesFrom

La restricción allValuesFrom se declara en una propiedad con respecto a una clase. Significa que todas las instancias de esa propiedad son instancias de esa clase.

someValuesFrom

La restricción someValuesFrom se declara en una propiedad con respecto a una clase. Significa que algunas las instancias de esa propiedad son instancias de esa clase.

Restricciones de Cardinalidad

minCardinality

La restricción minCardinality declara que una propiedad tiene al menos 0 o 1 valores.

maxCardinality

La restricción maxCardinality declara que una propiedad tiene a lo más 0 o 1 valores.

cardinality

La restricción cardinality declara que una propiedad sólo puede tener 0 o 1 valor.

Propiedades de Anotaciones

rdfs:label

Define el nombre (etiqueta) del sujeto (recurso).

rdfs:comment

Define la descripción del sujeto (recurso).

rdfs:seeAlso

Define la información acerca del sujeto (recurso).

rdfs:isDefinedBy

Define quien realiza la definición del sujeto (recurso).

OWL Lite cumple:

  • Los elementos owl:oneOf, owl:unionOf, owl:complementOf, owl:hasValue, owl:disjointWith, owl:DataRange y owl:Nothing quedan excluidos.

  • Las restricciones de cardinalidad sólo pueden ser 0 ó 1.

  • Las clases con nombre son requeridas:

      • El sujeto de owl:equivalentClass, rdfs:subclassOf.

      • El objeto de rdfs:domain.

  • Las clases con nombre o restricciones son requeridas:

      • El objeto de owl:equivalentClass, rdfs:subclassOf, rdf:type (owl:equivalentClass también admite una intersección como objeto).

      • Los elementos de un owl:intersectionOf.

  • Las clases con nombre o datatypes son requeridas:

      • El objeto de rdfs:range, owl:allValuesFrom, owl:someValuesFrom (para owl:allValuesFrom, owl:someValuesFrom, los dataytpes con nombre).

Este lenguaje también tiene elementos para definir la información de la versión, la información del encabezado y otras propiedades de anotación, las cuales se pueden encontrar en [OWLRef04].

        1. Lenguaje OWL DL y OWL Full

[OWLAbsSynSem03] proporciona una descripción informal de los rasgos de las construcciones que se agregan a los lenguajes OWL DL y OWL Full, esta descripción se muestra en el Cuadro 6. Estos lenguajes se extienden del lenguaje OWL Lite, por lo que descripción de este lenguaje hecha en la sección anterior se aplica a ellos. Para más detalles se puede consultar [OWLRef04], [OWLReq03] y [OWLGuide04].

Cuadro 6: Descripción de OWL DL y OWL Full [OWLAbsSynSem03].

Axiomas de Clase

oneOf

Define una enumeración de clases. Contiene una lista de los objetos que son sus instancias; esto permite definir una clase exhaustiva enumerando sus elementos.

disjointWith

Define que una clase es disjunta con respecto a otra clase nombrada. Contiene una expresión de clase.

equivalentClass

Define que dos clases son equivalentes, o sea, tiene las mismas instancias. Contiene una expresión de clase. Este elemento es utilizado para crear clases sinónimas. Descrito en el lenguaje DAML+OIL (sameClassAS).

rdfs:subClassOf

Define que una clase es subclase de la expresión de clase nombrada. Contiene una expresión de clase.

Combinaciones Booleanas de Expresiones de Clase

intersectionOF

Define intersecciones de clases y de relaciones.

unionOF

Define uniones de clases y de relaciones.

complementOF

Define el complemento de una clase o de una relación.

Restricciones de Cardinalidad

minCardinality

La restricción minCardinality declara que una propiedad tiene al menos N valores distintos.

maxCardinality

La restricción maxCardinality declara que una propiedad tiene a lo más N valores distintos.

cardinality

La restricción cardinality declara que una propiedad sólo puede tener N valores (ni más ni menos) distintos.

Rasgos de Información de Relleno

hasValue

Define que una propiedad puede exigirse tener una cierta instancia como un valor (también a veces llamado valores de propiedad). Contiene una referencia de un objeto de la instancia o un valor datatype.

OWL DL cumple:

  • Las restricciones aseguran la existencia de un procedimiento de razonamiento decidible.

  • owl:Class es subclase de rdf:Class.

  • Properties = ObjectProperties  DatatypeProperties, disjuntos

      • No se pueden aplicar a DatatypeProperties: inverseOf, InverseFunctionalProperty, SymmetricProperty, TransitiveProperty.

  • No puede haber restricciones de cardinalidad (locales ni globales) en propiedades transitivas, ni sus inversas, ni sus superpropiedades.

  • No pueden faltar definiciones (si se referencia una superclase, la definición de ésta tiene que aparecer en algún sitio).

  • Los axiomas de (des)igualdad sólo se pueden aplicar a instancias con nombre.

OWL Full cumple:

  • owl:Class y rdf:Class son equivalentes.

  • owl:Class es subclase de owl:Thing (las clases son instancias).

  • owl:Thing y rdf:Resource son equivalentes.

  • owl:ObjectProperty y rdf:Property son equivalentes.

  • owl:DatatypeProperty es subclase de owl:ObjectProperty (los valores datatype son instancias).

OWL, al ser sucesor de DAML+OIL, toma los elementos que este lenguaje proporciona para adecuarlos y mejorarlos, por ejemplo: desaparecen algunos elementos cuyo significado era opaco para agentes que utilizan el RDF-S (equivalentTo), elimina los elementos de restricciones de cardinalidad calificadas y cambia el nombre de otros elementos manteniendo su función. Además, agrega otros elementos para enriquecer la representación semántica.

En la sección siguiente se presenta una comparación entre los lenguajes RDF/RDF-S, DAML+OIL y OWL, donde se muestran las funcionalidades ofrecidas de estos lenguajes.




    1. Funcionalidades ofrecidas por RDF/Esquema RDF, DAML+OIL y OWL

El Cuadro 7 resume las funcionalidades ofrecidas de los lenguajes RDF/Esquema RDF, DAML+OIL y OWL, mostrando con ello las ventajas y las desventajas existentes entre estos lenguajes, las cuáles fueron discutidas a lo largo de las tres secciones anteriores.



Cuadro 7: Funcionalidades de RDF/Esquema RDF, DAML+OIL y OWL.

Funcionalidades

RDF/Esquema RDF

DAML+OIL

OWL

Listas 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






 Funcionalidad ofrecida por el lenguaje

 Funcionalidad no ofrecida por el lenguaje
Como se muestra en el cuadro anterior, RDF/Esquema RDF ofrece los mínimos requerimientos para el desarrollo de una ontología, es un lenguaje semántico que une la información de una página a semántica leíble por máquinas con pocas restricciones y muy poco razonamiento.

Por su parte, DAML+OIL une RDF/Esquema RDF con una capa de inferencias para ontologías, brindado una semántica precisa para la descripción de significados de los términos y un buen razonamiento. Esto garantiza que sea un lenguaje más que apto para la construcción de ontologías.

OWL, como se mencionó en la sección anterior, no agrega más funcionalidades, sino toma los elementos que este lenguaje proporciona para adecuarlos y mejorarlos. Esto lo logra agregando más elementos a las distintas funcionalidades para enriquecer la representación semántica e inferencia, desaparecen algunos elementos cuyo significado era opaco para agentes que utilizan el Esquema RDF, elimina los elementos de restricciones de cardinalidad calificadas y cambia el nombre de otros elementos manteniendo su función.

Por otra parte, es importante que los lenguajes cumplan con una serie de requisitos para ser aptos par la definición de ontologías, requisitos mencionados en la subsección Principios de Construcción de Ontologías y Elección de un Lenguaje. En el Cuadro 8 se muestran los requisitos que cumplen los lenguajes RDF/Esquema RDF, DAML+OIL y OWL.



Cuadro 8: Requisitos cumplidos por RDF/Esquema RDF, DAML+OIL y OWL.

Requisitos

RDF/Esquema RDF

DAML+OIL

OWL

Sintaxis bien definida







Semántica bien definida







Suficiente expresividad







Fácilmente maleable







Eficiente a la hora de razonar

 (muy poco)




 Requisito que cumple el lenguaje

 Requisito que no cumple el lenguaje
De los tres lenguajes que se exponen en este trabajo, como se observa en el cuadro anterior, RDF/Esquema RDF es el lenguaje que ofrece una representación básica y muy poco razonamiento. DAML+OIL al incorporar más representación semántica e inferencia al lenguaje RDF/Esquema RDF, se concierte en el lenguaje apto para la definición de ontologías, pero algunos de los elementos que define son opacos para agentes que utilizan RDF y otros son ambiguos. Por lo cuál, OWL perfecciona el lenguaje DAML+OIL y se convierte en lenguaje de representación de conocimiento más expresivo para la Web Semántica.

Al tener una visión general sobre los principios de construcción de ontologías, los requisitos que debe cumplir un lenguaje, la descripción de los lenguajes que se utilizarán en la investigación y la comparación de estos lenguajes, se planteará en la sección siguiente los objetivos y las actividades del presente trabajo de investigación.



EJEMPLO
Clases a crear:

  • DomainEntity

  • SelfStandingEntity (hija de DomainEntity)

  • Con el Wizard hacer el grupo de clases:

    • Pizza – PizzaBase – PizzaTopping (hijas de SelfStandingEntity)

    • ThinBase – HeavyBase (hijas de PizzaBase)


Explicar las clases creadas, las disjuntas y las condiciones necesarias.

En OWL las clases pueden solaparse (tener individuos comunes) a no ser que se diga explícitamente que son disjuntas.


    • VegetableTopping – MeatTopping – FishTopping - CheeseTopping - FruitTopping (hijas de PizzaTopping)


Explicar la jerarquía ES-UN.


    • Mushroom – Tomato – Pepper – Onion (hijas de VegetalTopping)

    • Pepperoni – Jam – SpicyBeef (hijas de MeatTopping)

    • Anchovies – Tuna (hijas de FishTopping)

    • Mozzarella – Parmesan (hijas de CheeseTopping)

    • Pineapple (hijas de FruitTopping)


Nada puede ser un MeatTopping y un VegetableTopping porque se declararon conceptos disjuntos: SE CREARA un ingrediente que sea concepto de ambos y se usará el clasificador para que señale el error MeatyVegetableTopping.

Explicar el concepto de dominio y rango.
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


Explicar lo anterior.
Clases a crear (hijas de Pizza):

  • MargheritaPizza: mozzarella y tomato


Si se pone que puede tener algunos valores de Mozzarella y otra donde se puede tener valores de Tomato, significa que una Pizza Margarita es una Pizza y además, entre otras cosas:

  • Tiene algún ingrediente que es tomate

  • Tiene algún ingrediente que es mozzarella

Mundo Cerrado versus Mundo Abierto

La mayoría de los clientes al leer el menú de la pizzería asumirían que la pizza Margarita tiene sólo tomate y mozzarella, pero en OWL hay que hacerlo explícito usando una restricción de cierre:

  • Seleccionar el concepto MargheritaPizza

  • En la pestaña Asserted conditions

  • Seleccionar cualquier restricción relacionada con el atributo hasTopping

  • En el menú asociado al botón derecho del Mouse seleccionar Add closure axiom.

SE CREARA la clase MeatyMagheritaPizza, hija de MagheritaPizza


  • 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)


Explicar que son clases definidas (para clasificar reconocer las pizzas con queso, define un conjunto de condiciones suficientes para reconocer cualquier pizza de queso) y clases primitivas (sólo se indican las condiciones necesarias que se aplican a TODAS las pizzas margaritas). El clasificador sólo puede clasificar cosas debajo de las clases definidas no de las primitivas.

Explicar las restricciones, condiciones necesarias y suficientes, y sólo necesarias.
Clases a crear (ValuePartition, los valores son disjuntos), usar Wizard – Create Value Partition:

  • Spiciness, valores: Hot, Médium, Bland

  • FatContent, valores: LowFat, HighFat

1 Los metadatos no son otra cosa que simples datos pero referidos a los propios datos.

2 XML Namespaces es un conjunto de nombres, identificados por una referencia URI, que se utilizan en documentos XML como tipos de elemento y nombres de atributo. Los namespaces (espacios de nombre) son simplemente una forma de asociar el uso específico de una palabra en el contexto del diccionario (esquema) en que se puede encontrar una definición determinada. Se declaran usando una familia de atributos reservados, el nombre de tales atributos debe ser xmlns o tener xmlns: como prefijo. Estos atributos, como cualquier otro atributo XML, se pueden proporcionar directamente o pueden tener un valor por defecto. [NSXML99]

3 Transformación de algo abstracto en concreto.

4 El conjunto de elementos del Vocabulario Dublin Core es un grupo de 15 elementos para ser aplicados en general en la descripción de recursos web para facilitar su recuperación. El Dublin Core ha sido la mayor influencia en el desarrollo de RDF, una consideración importante en el desarrollo del Dublin Core fue no permitir solo descripciones simples, sino también proporciona la posibilidad de cualificar descripciones para realizar una elaboración específica de un dominio y una precisión descriptiva. [RDFS00]
1   2   3


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal