El lenguaje de ontologías web ( OWL ) es una familia de lenguajes de representación del conocimiento para la creación de ontologías . Las ontologías son una forma formal de describir taxonomías y redes de clasificación, que definen 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 pensadas para 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 pensadas para 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 pensadas para representar información en Internet procedente de todo tipo de fuentes de datos heterogéneas. Las jerarquías de clases, por otro lado, tienden a ser bastante estáticas y se basan en fuentes de datos mucho menos diversas y más estructuradas, como las bases de datos corporativas. [1]
Los lenguajes OWL se caracterizan por su semántica formal . Se basan en el estándar para objetos del Consorcio World Wide Web (W3C) denominado Marco de descripción de recursos (RDF). [2] OWL y RDF han atraído un interés académico, médico y comercial significativo.
En octubre de 2007, [3] se creó un nuevo grupo de trabajo del W3C [4] para ampliar OWL con varias características nuevas, como se propuso en la presentación de los 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 se abrió camino en 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 una referencia más general, se utilizará la familia OWL . [12] [13] [14]
El desarrollo ontológico en filosofía y ciencias de la computación tiene una larga historia . Desde los años 1990, una serie de investigaciones han explorado cómo la idea de la representación del conocimiento (KR) de la inteligencia artificial (IA) podría ser útil en la World Wide Web. Estas investigaciones incluyeron lenguajes basados en HTML (llamado SHOE ), basados en XML (llamado XOL, más tarde OIL ) y varios lenguajes de KR basados en marcos y enfoques de adquisición de conocimiento.
En 2000, en los Estados Unidos, DARPA comenzó el desarrollo de DAML dirigido por James Hendler . [15] [ fuente autopublicada ] En marzo de 2001, el Comité Conjunto UE/EE. UU. sobre lenguajes de marcado de agentes decidió que DAML debía fusionarse con OIL. [15] El Grupo de trabajo conjunto ad hoc UE/EE. UU. sobre lenguajes de marcado de agentes se reunió para desarrollar DAML+OIL como 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 sobre RDFS , [15] con semántica formal basada en una lógica de descripción (DL). [16]
DAML+OIL tiene 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 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 los años 90, la Actividad de Metadatos del Consorcio World Wide Web (W3C) comenzó a trabajar en el Esquema RDF (RDFS), un lenguaje para compartir vocabulario RDF . El RDF se convirtió en una Recomendación del W3C en febrero de 1999, y el RDFS en una 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) el RDFS se convirtió en una Recomendación del W3C. [20] Aunque el RDFS proporciona cierto soporte para la especificación de ontologías, la necesidad de un lenguaje de ontologías más expresivo se había vuelto clara. [21] [ fuente autopublicada ]
El lunes 31 de mayo finalizará oficialmente nuestro grupo de trabajo. Hemos logrado todo lo que se nos había encomendado y creo que nuestro trabajo está siendo muy bien valorado.
— James Hendler y Guus Schreiber, Grupo de trabajo de 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 abstracta , 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 y Direcciones de OWL, se llegó a un consenso sobre el hecho de que los recientes avances en la lógica de descripción permitirían una revisión más expresiva para satisfacer los requisitos de los usuarios de manera más completa, manteniendo al mismo tiempo buenas propiedades computacionales. En diciembre de 2006, se envió al W3C la Presentación de Miembros de OWL1.1 [23] . El W3C constituyó el Grupo de Trabajo de 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] [25]
¿Por qué no ser inconsistente en al menos un aspecto de un lenguaje que es cuestión de consistencia?
— Guus Schreiber, ¿Por qué OWL y no WOL? [26]
Se eligió OWL como un acrónimo de fácil pronunciación 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. [27] [28] [29]
Una encuesta realizada en 2006 sobre ontologías disponibles en la web recopiló 688 ontologías OWL. De ellas, 199 eran OWL Lite, 149 eran OWL DL y 337 OWL Full (por sintaxis). Descubrieron que 19 ontologías tenían más de 2000 clases y que 6 tenían más de 10 000. La misma encuesta recopiló 587 vocabularios RDFS. [30]
Una ontología es una especificación explícita de una conceptualización.
— Tom Gruber , Un enfoque de traducción para las especificaciones de ontologías portátiles [31]
Los datos descritos por una ontología de la familia OWL se interpretan como un conjunto de "individuos" y un conjunto de "afirmaciones de propiedades" que relacionan a estos individuos entre sí. Una ontología consiste en 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 infieran información adicional en función de los datos proporcionados explícitamente. En la Guía OWL del W3C se ofrece una introducción completa al poder expresivo de OWL . [32]
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 establezcan que una propiedad "hasMother" solo 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 la clase "HasTypeABBlood". Si se establece 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 solo es cierto si los conceptos de "Parent" y "Mother" solo significan padre o madre biológicos y no padre o madre sociales.
Para elegir un subconjunto de la lógica de primer orden que sea decidible, se utilizó la lógica proposicional , aumentando su potencia añadiendo lógicas representadas por convención con acrónimos:
La especificación OWL aprobada por el W3C incluye la definición de tres variantes de OWL, con diferentes niveles de expresividad. Estas son OWL Lite, OWL DL y OWL Full (ordenadas por expresividad creciente). Cada uno de estos sublenguajes es una extensión sintáctica de su predecesor más simple. El siguiente conjunto de relaciones se cumple. Sus inversas no.
OWL Lite fue originalmente pensado para dar 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 simple proporcionar soporte de herramientas para OWL Lite que sus parientes más expresivos, permitiendo una ruta de migración rápida para sistemas que usan tesauros y otras 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 es igualmente expresiva que 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 usa ampliamente. [24]
OWL DL está diseñado para proporcionar la máxima expresividad posible mientras se conserva la completitud computacional (tanto φ como ¬φ se cumplen), la decidibilidad (existe un procedimiento efectivo para determinar si φ es derivable o no) y la disponibilidad de algoritmos de razonamiento prácticos. OWL DL incluye todas las construcciones del lenguaje OWL, pero se pueden usar solo bajo ciertas restricciones (por ejemplo, no se pueden imponer restricciones numéricas a las propiedades que se declaran como transitivas; y mientras que una clase puede ser una subclase de muchas clases, una clase no puede ser una instancia de otra clase). OWL DL se llama así debido a su correspondencia con la lógica de descripción , un campo de investigación que ha estudiado las lógicas que forman la base formal de OWL.
Éste se puede expresar como , utilizando la lógica de letras anterior.
OWL Full se basa en una semántica diferente a la de OWL Lite o OWL DL, y fue diseñado para preservar cierta compatibilidad con el esquema RDF. Por ejemplo, en OWL Full una clase puede ser tratada 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 u OWL). OWL Full es indecidible, por lo que ningún software de razonamiento puede realizar un razonamiento completo para él.
En OWL 2, hay tres sublenguajes del lenguaje: [25]
La familia de lenguajes OWL admite una variedad de sintaxis. Resulta útil distinguir las sintaxis de alto nivel destinadas a la especificación de las sintaxis de intercambio más adecuadas para el uso general.
Éstas se acercan a la estructura ontológica de los lenguajes de la familia OWL.
Se utiliza una sintaxis de alto nivel para especificar la estructura y la semántica de la ontología OWL. [34]
La sintaxis abstracta OWL presenta una ontología como una secuencia de anotaciones , axiomas y hechos . Las anotaciones llevan metadatos orientados a máquinas y humanos. La información sobre las clases, propiedades e individuos que componen la ontología está contenida solo 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 las clases y propiedades. Este estilo es similar a los lenguajes de marco y bastante diferente a las sintaxis bien conocidas para DL y Resource Description Framework (RDF). [34]
Sean Bechhofer y otros sostienen que, aunque esta sintaxis es difícil de analizar, es bastante concreta. Concluyen que el nombre de sintaxis abstracta puede ser un tanto engañoso. [35]
Esta sintaxis sigue de cerca la estructura de una ontología OWL2. OWL2 la utiliza para especificar semántica, asignaciones a sintaxis de intercambio y perfiles. [36]
Se especifican asignaciones sintácticas en RDF [34] [38] para los lenguajes de la familia OWL. Se han ideado varios formatos de serialización RDF . Cada uno de ellos conduce a una sintaxis para los lenguajes de la familia OWL a través de esta asignación. RDF/XML es normativo. [34] [38]
OWL2 especifica una serialización XML que modela de cerca la estructura de una ontología OWL2. [39]
La sintaxis Manchester es una sintaxis compacta y legible por humanos con un estilo cercano al de los lenguajes de marco. Existen variaciones disponibles para OWL y OWL2. No todas las ontologías OWL y OWL2 pueden expresarse en esta sintaxis. [40]
Considere una ontología para el té basada en una clase Tea. Primero, se necesita un identificador de ontología. Cada ontología OWL debe identificarse mediante un URI (por ejemplo, http://www.example.org/tea.owl). Este ejemplo proporciona una idea de la sintaxis. Para ahorrar espacio a continuación, se han omitido los preámbulos y las definiciones de prefijo.
Ontología ( <http://example.org/tea.owl> Declaración ( Clase ( : Tea ) ) )
<Ontología ontologyIRI= "http://example.org/tea.owl" ... > <Prefijo name= "owl" IRI= "http://www.w3.org/2002/07/owl#" /> <Declaración> <Clase IRI= "Tea" /> < /Declaración > </Ontología>
Ontología : <http://example.org/tea.owl> Clase : Té
<rdf:RDF ... > <owl:Ontología rdf:sobre= "" /> <owl:Clase rdf:sobre= "#Té" /> </rdf:RDF>
<http://example.org/tea.owl> rdf : tipo búho : Ontología . : Té rdf : tipo búho : Clase .
Las clases OWL corresponden a los conceptos de lógica de descripción (DL) , las propiedades OWL a los roles DL , mientras que los individuos se denominan de la misma manera tanto en la terminología OWL como en la DL. [42]
En un principio, el IS-A era bastante simple. Sin embargo, hoy en día existen casi tantos significados para este vínculo hereditario como sistemas de representación del conocimiento.
— Ronald J. Brachman , Qué es y qué no es el IS-A [43]
Los primeros intentos de crear grandes ontologías se vieron afectados por la falta de definiciones claras. Los miembros de la familia OWL tienen una semántica formal basada en la teoría de modelos y, por lo tanto, tienen bases lógicas sólidas.
Las lógicas descriptivas son una familia de lógicas que son fragmentos decidibles de lógica de primer orden con propiedades computacionales atractivas y bien entendidas. La semántica de OWL DL y OWL Lite se basa en las DL. [44] 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 descriptiva, mientras que OWL 2 corresponde a la lógica. [45] Existen razonadores sólidos, completos y terminantes (es decir, sistemas que garantizan la derivación de todas las consecuencias del conocimiento en una ontología) para estas DL.
OWL Full está pensado para ser compatible con el esquema RDF (RDFS) y para ser capaz de aumentar los significados del vocabulario del marco de descripción de recursos (RDF) existente. [46] Una teoría de modelos describe la semántica formal para RDF. [47] Esta interpretación proporciona el significado del vocabulario RDF y RDFS. Por lo tanto, el significado de las ontologías OWL Full se define por extensión del significado RDFS, y OWL Full es una extensión semántica de RDF. [48]
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 es indefinido .
— Stefano Mazzocchi, Mundo cerrado vs. mundo abierto: la primera batalla de la Web semántica [49]
Los lenguajes de la familia OWL utilizan el supuesto de mundo abierto . Según este supuesto, si no se puede demostrar que una afirmación es verdadera con el conocimiento actual, no podemos llegar a 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 para bases de datos relacionales. Prolog es un lenguaje de programación lógica . Ambos utilizan el supuesto de mundo cerrado .
Las siguientes herramientas incluyen navegadores de ontología públicos:
{{cite web}}
: CS1 maint: copia archivada como título ( enlace )