Web Ontology Language ( OWL ) es una familia de lenguajes de representación de conocimiento para la creación de ontologías . Las ontologías son una forma formal de describir taxonomías y redes de clasificación, definiendo esencialmente la estructura del conocimiento para varios dominios: los sustantivos que representan clases de objetos y los verbos que representan relaciones entre los objetos.
Las ontologías se parecen a las jerarquías de clases en la programación orientada a objetos , pero existen varias diferencias críticas. Las jerarquías de clases están destinadas a representar estructuras utilizadas en el código fuente que evolucionan con bastante lentitud (quizás con revisiones mensuales), mientras que las ontologías están destinadas a representar información en Internet y se espera que evolucionen casi constantemente. De manera similar, las ontologías suelen ser mucho más flexibles, ya que están destinadas a representar información en Internet procedente de todo tipo de fuentes de datos heterogéneas. Por otro lado, las jerarquías de clases tienden a ser bastante estáticas y dependen de fuentes de datos mucho menos diversas y más estructuradas, como las bases de datos corporativas. [1]
Los lenguajes OWL se caracterizan por una semántica formal . Se basan en el estándar para objetos del World Wide Web Consortium (W3C) denominado Marco de descripción de recursos (RDF). [2] OWL y RDF han atraído un importante interés académico, médico y comercial.
En octubre de 2007, [3] se inició un nuevo grupo de trabajo del W3C [4] para ampliar OWL con varias características nuevas según lo propuesto en la presentación de miembros de OWL 1.1. [5] El W3C anunció la nueva versión de OWL el 27 de octubre de 2009. [6] Esta nueva versión, llamada OWL 2, pronto llegó a editores semánticos como Protégé y razonadores semánticos como Pellet, [7] RacerPro, [8 ] FaCT++ [9] [10] y HermiT. [11]
La familia OWL contiene muchas especies, serializaciones, sintaxis y especificaciones con nombres similares. OWL y OWL2 se utilizan para hacer referencia a las especificaciones de 2004 y 2009, respectivamente. Se utilizarán los nombres completos de las especies, incluida la versión de la especificación (por ejemplo, OWL2 EL). Cuando se haga referencia de manera más general, se utilizará OWL Family . [12] [13] [14]
Existe una larga historia de desarrollo ontológico en la filosofía y la informática. Desde la década de 1990, una serie de esfuerzos de investigación han explorado cómo la idea de representación del conocimiento (KR) a partir de inteligencia artificial (IA) podría resultar útil en la World Wide Web. Estos incluían lenguajes basados en HTML (llamado SHOE ), basados en XML (llamado XOL, más tarde OIL ) y varios lenguajes KR basados en marcos y enfoques de adquisición de conocimientos.
En el año 2000, en Estados Unidos, DARPA inició el desarrollo de DAML liderado por James Hendler . [15] [ fuente autoeditada ] En marzo de 2001, el Comité Conjunto UE/EE.UU. sobre Lenguajes de Marcado de Agentes decidió que DAML debería fusionarse con OIL. [15] El Grupo de Trabajo Conjunto ad hoc UE/EE.UU. sobre Lenguajes de Marcado de Agentes fue convocado para desarrollar DAML+OIL como un lenguaje de ontología web. Este grupo fue financiado conjuntamente por DARPA (bajo el programa DAML) y el proyecto de financiación de Tecnologías de la Sociedad de la Información (IST) de la Unión Europea. DAML+OIL estaba destinado a ser una capa delgada por encima de RDFS , [15] con una semántica formal basada en una lógica de descripción (DL). [dieciséis]
DAML+OIL es una influencia particularmente importante en OWL; El diseño de OWL se basó específicamente en DAML+OIL. [17]
La Web Semántica proporciona un marco común que permite compartir y reutilizar datos a través de los límites de las aplicaciones, empresas y comunidades.
— Consorcio World Wide Web, Actividad de Web Semántica del W3C [18]
un lenguaje de representación declarativo influenciado por ideas de la representación del conocimiento
— Consorcio World Wide Web, Actividad de metadatos [19]
A finales de la década de 1990, la actividad de metadatos del World Wide Web Consortium (W3C) comenzó a trabajar en RDF Schema (RDFS), un lenguaje para compartir vocabulario RDF . El RDF se convirtió en Recomendación del W3C en febrero de 1999, y el RDFS en Recomendación candidata en marzo de 2000. [19] En febrero de 2001, la Actividad de Web Semántica reemplazó a la Actividad de Metadatos. [19] En 2004 (como parte de una revisión más amplia de RDF), RDFS se convirtió en una Recomendación del W3C. [20] Aunque RDFS proporciona cierto soporte para la especificación de ontologías, la necesidad de un lenguaje de ontología más expresivo se había vuelto clara. [21] [ fuente autoeditada ]
A partir del lunes 31 de mayo nuestro grupo de trabajo llegará oficialmente a su fin. Hemos logrado todo lo que se nos había encomendado y creo que nuestro trabajo está siendo muy apreciado.
— James Hendler y Guus Schreiber, Grupo de trabajo sobre ontología web: conclusiones y trabajo futuro [22]
El Consorcio World Wide Web (W3C) creó el Grupo de Trabajo de Ontología Web como parte de su Actividad de Web Semántica. Comenzó a trabajar el 1 de noviembre de 2001 con los copresidentes James Hendler y Guus Schreiber. [22] Los primeros borradores de trabajo de la sintaxis del resumen , la referencia y la sinopsis se publicaron en julio de 2002. [22] OWL se convirtió en una recomendación formal del W3C el 10 de febrero de 2004 y el grupo de trabajo se disolvió el 31 de mayo de 2004. [22]
En 2005, en el Taller de Experiencias e Direcciones de OWL se llegó a un consenso de que los avances recientes en la lógica de descripción permitirían una revisión más expresiva para satisfacer los requisitos del usuario de manera más integral, manteniendo al mismo tiempo buenas propiedades computacionales. En diciembre de 2006, se presentó al W3C la presentación de miembros de OWL1.1 [23] . El W3C creó el Grupo de Trabajo OWL como parte de la Actividad de Web Semántica en septiembre de 2007. En abril de 2008, este grupo decidió llamar a este nuevo lenguaje OWL2, lo que indica una revisión sustancial. [24]
OWL 2 se convirtió en una recomendación del W3C en octubre de 2009. OWL 2 introduce perfiles para mejorar la escalabilidad en aplicaciones típicas. [6]
¿Por qué no ser inconsistente al menos en un aspecto de un lenguaje que tiene que ver con la coherencia?
— Guus Schreiber, ¿ Por qué OWL y no WOL? [25]
OWL fue elegido como un acrónimo fácil de pronunciar que produciría buenos logotipos, sugeriría sabiduría y honraría el proyecto de representación del conocimiento One World Language de William A. Martin de la década de 1970. [26] [27] [28]
Una encuesta de 2006 sobre ontologías disponibles en la web recopiló 688 ontologías OWL. De ellos, 199 eran OWL Lite, 149 eran OWL DL y 337 OWL Full (por sintaxis). Descubrieron que 19 ontologías tenían más de 2.000 clases y que 6 tenían más de 10.000. La misma encuesta recopiló 587 vocabularios RDFS. [29]
Una ontología es una especificación explícita de una conceptualización.
— Tom Gruber , Un enfoque de traducción de especificaciones de ontologías portátiles [30]
Los datos descritos por una ontología de la familia OWL se interpretan como un conjunto de "individuos" y un conjunto de "afirmaciones de propiedad" que relacionan a estos individuos entre sí. Una ontología consta de un conjunto de axiomas que imponen restricciones a conjuntos de individuos (llamados "clases") y los tipos de relaciones permitidas entre ellos. Estos axiomas proporcionan semántica al permitir que los sistemas infieren información adicional basada en los datos proporcionados explícitamente. En la Guía OWL del W3C se proporciona una introducción completa al poder expresivo de OWL . [31]
Las ontologías OWL pueden importar otras ontologías, agregando información de la ontología importada a la ontología actual. [17]
Una ontología que describa familias podría incluir axiomas que indiquen que una propiedad "hasMother" sólo está presente entre dos individuos cuando "hasParent" también está presente, y que los individuos de la clase "HasTypeOBlood" nunca están relacionados a través de "hasParent" con miembros de "HasTypeABBlood". clase. Si se afirma que el individuo Harriet está relacionado a través de "hasMother" con el individuo Sue, y que Harriet es miembro de la clase "HasTypeOBlood", entonces se puede inferir que Sue no es miembro de "HasTypeABBlood". Sin embargo, esto sólo es cierto si los conceptos de "padre" y "madre" sólo significan padre o madre biológica y no padre o madre social.
Para elegir un subconjunto de lógica de primer orden que sea decidible se utilizó la lógica proposicional , aumentando su poder añadiendo lógicas representadas por convención con siglas:
La especificación OWL respaldada por el W3C incluye la definición de tres variantes de OWL, con diferentes niveles de expresividad. Se trata de OWL Lite, OWL DL y OWL Full (ordenados en orden creciente de expresividad). Cada uno de estos sublenguajes es una extensión sintáctica de su predecesor más simple. Se cumple el siguiente conjunto de relaciones. Sus inversas no.
Originalmente, OWL Lite estaba destinado a brindar soporte a aquellos usuarios que necesitaban principalmente una jerarquía de clasificación y restricciones simples. Por ejemplo, si bien admite restricciones de cardinalidad , solo permite valores de cardinalidad de 0 o 1. Se esperaba que fuera más sencillo proporcionar soporte de herramientas para OWL Lite que sus parientes más expresivos, permitiendo una ruta de migración rápida para sistemas que utilizan tesauros y otros. taxonomías . En la práctica, sin embargo, la mayoría de las restricciones de expresividad impuestas a OWL Lite equivalen a poco más que inconvenientes sintácticos: la mayoría de las construcciones disponibles en OWL DL se pueden construir usando combinaciones complejas de características de OWL Lite y son igualmente expresivas como la lógica de descripción . [24] Por lo tanto, el desarrollo de herramientas OWL Lite ha demostrado ser casi tan difícil como el desarrollo de herramientas para OWL DL, y OWL Lite no se utiliza ampliamente. [24]
OWL DL está diseñado para proporcionar la máxima expresividad posible manteniendo la integridad computacional (ya sea φ o ¬φ), decidibilidad (existe un procedimiento efectivo para determinar si φ es derivable o no) y la disponibilidad de algoritmos de razonamiento práctico. OWL DL incluye todas las construcciones del lenguaje OWL, pero sólo se pueden usar bajo ciertas restricciones (por ejemplo, no se pueden imponer restricciones numéricas a las propiedades que se declaran transitivas; y si bien una clase puede ser una subclase de muchas clases, una clase no puede ser una instancia de otra clase). OWL DL recibe su nombre por su correspondencia con la lógica de descripción , campo de investigación que ha estudiado las lógicas que forman el fundamento formal de OWL.
Este se puede expresar como , usando la lógica de letras anterior.
OWL Full se basa en una semántica diferente de OWL Lite o OWL DL, y fue diseñado para preservar cierta compatibilidad con RDF Schema. Por ejemplo, en OWL Full una clase puede tratarse simultáneamente como una colección de individuos y como un individuo por derecho propio; esto no está permitido en OWL DL. OWL Full permite que una ontología aumente el significado del vocabulario predefinido (RDF o OWL). OWL Full es indecidible, por lo que ningún software de razonamiento puede realizar un razonamiento completo.
En OWL 2, hay tres sublenguajes del idioma. OWL 2 EL es un fragmento que tiene complejidad de razonamiento en tiempo polinomial; OWL 2 QL está diseñado para permitir un acceso y una consulta más sencillos a los datos almacenados en bases de datos; OWL 2 RL es un subconjunto de reglas de OWL 2.
La familia de lenguajes OWL admite una variedad de sintaxis. Es útil distinguir las sintaxis de alto nivel destinadas a la especificación de las sintaxis de intercambio más adecuadas para el uso general.
Estos están cerca de la estructura ontológica de los lenguajes de la familia OWL.
Se utiliza sintaxis de alto nivel para especificar la estructura y la semántica de la ontología OWL. [32]
La sintaxis abstracta de OWL presenta una ontología como una secuencia de anotaciones , axiomas y hechos . Las anotaciones contienen metadatos orientados a máquinas y humanos. La información sobre las clases, propiedades e individuos que componen la ontología está contenida únicamente en axiomas y hechos. Cada clase, propiedad e individuo es anónimo o se identifica mediante una referencia URI . Los hechos indican datos sobre un individuo o sobre un par de identificadores individuales (que los objetos identificados son distintos o iguales). Los axiomas especifican las características de clases y propiedades. Este estilo es similar a los lenguajes de marcos y bastante diferente a las sintaxis conocidas para DL y el Marco de descripción de recursos (RDF). [32]
Sean Bechhofer, et al. argumentan que aunque esta sintaxis es difícil de analizar, es bastante concreta. Concluyen que el nombre de sintaxis abstracta puede ser algo engañoso. [33]
Esta sintaxis sigue de cerca la estructura de una ontología OWL2. OWL2 lo utiliza para especificar semántica, asignaciones para intercambiar sintaxis y perfiles. [34]
Las asignaciones sintácticas en RDF se especifican [32] [36] para lenguajes de la familia OWL. Se han ideado varios formatos de serialización RDF. Cada uno conduce a una sintaxis para los idiomas de la familia OWL a través de este mapeo. RDF/XML es normativo. [32] [36]
OWL2 especifica una serialización XML que modela fielmente la estructura de una ontología OWL2. [37]
La sintaxis Manchester es una sintaxis compacta y legible por humanos con un estilo cercano a los lenguajes marco. Hay variaciones disponibles para OWL y OWL2. No todas las ontologías OWL y OWL2 se pueden expresar en esta sintaxis. [38]
Considere una ontología para el té basada en una clase de té. Primero, se necesita un identificador de ontología. Cada ontología OWL debe identificarse mediante un URI (http://www.example.org/tea.owl, por ejemplo). Este ejemplo proporciona una idea de la sintaxis. Para ahorrar espacio a continuación, se han omitido los preámbulos y las definiciones de prefijos.
Ontología ( <http://example.org/tea.owl> Declaración ( Clase ( : Té ) ) )
<Ontología ontologyIRI= "http://example.org/tea.owl" ... > <Prefijo nombre= "owl" IRI= "http://www.w3.org/2002/07/owl#" /> <Declaración> <Clase IRI= "Té" /> </ Declaración> < /Ontología>
Ontología : <http://example.org/tea.owl> Clase : Té
<rdf:RDF ... > <owl:Ontología rdf:about= "" /> <owl:Class rdf:about= "#Té" /> </rdf:RDF>
<http://example.org/tea.owl> rdf : tipo búho : Ontología . : Tea rdf : tipo búho : Clase .
Las clases OWL corresponden a conceptos de lógica de descripción (DL) , las propiedades OWL a roles DL , mientras que los individuos se denominan de la misma manera tanto en la terminología OWL como en la DL. [40]
Al principio, IS-A era bastante sencillo. Hoy, sin embargo, hay casi tantos significados para este vínculo de herencia como sistemas de representación del conocimiento.
— Ronald J. Brachman , Qué es y qué no es IS-A [41]
Los primeros intentos de construir grandes ontologías estuvieron plagados de una falta de definiciones claras. Los miembros de la familia OWL tienen una semántica formal teórica de modelos y, por lo tanto, tienen bases lógicas sólidas .
Las lógicas de descripción son una familia de lógicas que son fragmentos decidibles de lógica de primer orden con propiedades computacionales atractivas y bien comprendidas. La semántica de OWL DL y OWL Lite se basa en DL. [42] Combinan una sintaxis para describir e intercambiar ontologías y una semántica formal que les da significado. Por ejemplo, OWL DL corresponde a la lógica de descripción, mientras que OWL 2 corresponde a la lógica. [43] Para estas DL existen razonadores sólidos, completos y finales (es decir, sistemas que garantizan derivar todas las consecuencias del conocimiento en una ontología).
OWL Full está diseñado para ser compatible con el esquema RDF (RDFS) y ser capaz de aumentar los significados del vocabulario existente del marco de descripción de recursos (RDF). [44] Una teoría modelo describe la semántica formal de RDF. [45] Esta interpretación proporciona el significado del vocabulario RDF y RDFS. Entonces, el significado de las ontologías OWL Full se define por la extensión del significado de RDFS, y OWL Full es una extensión semántica de RDF. [46]
El supuesto del mundo [cerrado] implica que todo lo que no sabemos es falso , mientras que el supuesto del mundo abierto establece que todo lo que no sabemos está indefinido .
— Stefano Mazzocchi, Mundo cerrado versus mundo abierto: la primera batalla de la web semántica [47]
Los lenguajes de la familia OWL utilizan el supuesto de mundo abierto . Según el supuesto de mundo abierto, si no se puede demostrar que una afirmación es verdadera con el conocimiento actual, no podemos sacar la conclusión de que la afirmación es falsa.
Una base de datos relacional consta de conjuntos de tuplas con los mismos atributos . SQL es un lenguaje de consulta y gestión de bases de datos relacionales. Prolog es un lenguaje de programación lógico . Ambos utilizan el supuesto de mundo cerrado .
Las siguientes herramientas incluyen navegadores de ontologías públicas:
{{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace )