Este apartado presenta una descripción de los conceptos Ontología y Web Semántica. En primer lugar, en el apartado de “Ontologías”, se proporciona la definición de onto-
65 Wikipedia, “Distribuciones Linux” http://es.wikipedia.org/wiki/Anexo:Distribuciones_Linux
66 Distribuciones de Apache Hadoop en la página web de Apache http://wiki.apache.org/hadoop/
| 113 |
BIG INTELLIGENCE: nuevas Capacidades BIG DATA
PARA LOS SISTEMAS DE VIGILANCIA ESTRATÉGICA E INTELIGENCIA COMPETITIVA
logía más ampliamente utilizada, los tipos de ontologías existentes, los componentes básicos, y se describen algunas ontologías de ejemplo. A continuación, en el apartado “Datos Enlazados y la Web Semántica”, se presenta la noción de Datos Enlazados y Web Semántica. Seguidamente, en el apartado “Lenguajes de representación de ontologías y tecnologías”, se describen los lenguajes de representación de ontologías más utilizados en el ámbito de la Web Semántica. Finalmente, el apartado “Sistemas de Organización del Conocimiento (KOS) y SKOS” introduce los sistemas de organi- zación de conocimiento y su relación con la Web Semántica.
8.1. Ontologías
El término “Ontología”67 se deriva del griego: ontos (ser) y logos (hablar de). Por
consiguiente, en el campo de la filosofía, Ontología es la ciencia que tiene al ser como su objeto de trabajo. Es decir, es la rama de la metafísica que trata de proporcionar una explicación sistemática de la existencia. Sin embargo, en áreas de ingeniería, el término “ontología” ha sido adoptado para describir parcelas de conocimiento que
pueden ser (computacionalmente) representadas en un programa68. Por consiguiente,
una ontología se considera una entidad computacional, es decir un recurso artificial que se desarrolla69.
Una ontología es una especificación formal y explicita de una conceptualización com- partida, donde la semántica de la información se representa mediante objetos, rela- ciones y propiedades que los caracterizan, en un lenguaje que sea comprensible para
los ordenadores, es decir, un lenguaje formal. Por tanto, una ontología es un modelo
de conocimientos consensuado en un determinado dominio y que es reutilizable en diferentes aplicaciones.
Es importante mencionar que las ontologías definen conocimiento consensuado y compartido sobre un dominio, para que dicho conocimiento pueda comunicarse entre personas y sistemas computacionales. Es decir, las ontologías permiten el intercambio y la reutilización de conocimiento de forma computacional.
Resumiendo, (a) las ontologías son un formalismo de representación de algún tipo de conocimiento, que debe estar consensuado, de un dominio o ámbito, y (b) las onto- logías deben especificarse mediante un lenguaje formal. Para definir el vocabulario de un dominio se utilizan los conceptos y las relaciones entre dichos conceptos, así
67 Munn y Smith (2008) Sobre el término “Ontología”, Diccionario Oxford 68 Studer et alter (1988) “Knowledge Engineering: Principles and Methods.”
| 114 | Capítulo 3
NUEVAS CAPACIDADES BIG DATA
como los axiomas y las reglas que combinan conceptos y relaciones que amplían las definiciones dadas en el vocabulario.
Tradicionalmente, en la comunidad ontológica se han distinguido dos tipos de onto- logías: (a) ontologías ligeras (lightweight) que son principalmente taxonomías y (b)
ontologías pesadas (heavyweight) que son una extensión de las ontologías ligeras, a
las que se les añaden axiomas y restricciones. Sin embargo, como consecuencia del
desarrollo colaborativo y distribuido de ontologías se ha evolucionado a una nueva clasificación de las ontologías basada en las relaciones que se pueden establecer entre ellas. De acuerdo a este nuevo enfoque se distinguen los siguientes tipos de ontologías70:
• Una ontología individual es una ontología que no tiene ningún tipo de relación (dependiente o independiente del dominio) con otras ontologías.
• Un conjunto de ontologías individuales interconectadas incluye un conjunto de ontologías que tienen algún tipo de relación ad-hoc dependiente del dominio entre ellas.
• Una red de ontologías es una colección de ontologías individuales interconectadas
relacionadas mediante una variedad de meta-relaciones71. Algunos ejemplos de estas
meta-relaciones son: (a) hasPriorVersion (si la ontología es una nueva versión de
otra ontología ya existente), (b) useImports (si la ontología importa otra ontología), (c) isExtension (si la ontología extiende otra ya existente), (d) containsModules (si
la ontología se compone de varios módulos), y (e) hasMapping (si alguno de los
componentes de la ontología tiene relación de correspondencia con otras ontolo- gías existentes).
La Figura 1 (a) muestra una ontología individual (Ontología A1); la Figura 1 (b) pre- senta N ontologías individuales relacionadas entre sí mediante relaciones depen- dientes del dominio entre conceptos incluidos en dichas ontologías, por tanto, esta figura presenta un conjunto de ontologías individuales interconectadas; finalmente la Figura 1 (c) muestra la red de ontologías asociada al conjunto de ontologías indi- viduales presentado en la Figura 1 (b). En esta red de ontologías, las meta-relaciones (“useImports” y “hasPriorVersion”) se han expresado explícitamente entre las dis- tintas ontologías.
70 Suárez-Figueroa, (2010) NeOn Methodology for Building Ontology Networks: Specification, Sche-
duling and Reuse
| 115 |
BIG INTELLIGENCE: nuevas Capacidades BIG DATA
PARA LOS SISTEMAS DE VIGILANCIA ESTRATÉGICA E INTELIGENCIA COMPETITIVA
figura 1
Ejemplo de ontologías individuales, ontologías individuales interconectadas
y redes de ontologías
72tieneAutor esPublicadoPor
(a) Ontología individual (b) Conjunto de ontologías individuales interconectadas
B A A1 A1 A B A1 C C imports hasPriorVersion esPublicadoPor tieneAutor imports (c) Red de ontologías
Los componentes principales de una ontología son los conceptos (p. ej., Hombre, Mujer, Tren, Edificio, Universidad, etc.), normalmente organizadas en taxonomías o jerarquías
(p.ej., Mujer es un tipo de Persona, Tren es un tipo de Vehículo) y las propiedades (p.ej., las personas se casan, una persona vive en un edificio, una persona tiene un nombre, una universidad tiene edificios, etc.).
Para que las ontologías sean algo más que una taxonomía codificada en un lenguaje
formal, deben incluir los llamados Axiomas. Éstos consisten en especificaciones,
siempre en base lógica, de las propiedades y de las relaciones entre los componen-
tes de la ontología. Por ejemplo, un país sólo puede tener una capital, no se puede viajar en tren de Europa a EEUU, o dos personas que tienen los mismos padres son hermanos.
Las ontologías se utilizan en aplicaciones informáticas que van a ser utilizadas por seres humanos y también en aplicaciones que permiten el intercambio de datos máquina- máquina sin intervención humana. Aunque últimamente se conoce e identifica a las ontologías por importante papel en la web semántica, no sólo se aplican en el ámbito web sino también en procesos locales de integración de datos de distintas fuentes y en la gestión del conocimiento entre otros.
72 Suárez-Figueroa, (2010) NeOn Methodology for Building Ontology Networks: Specification, Sche-
| 116 | Capítulo 3
NUEVAS CAPACIDADES BIG DATA
Ejemplos de sistemas que utilizan ontologías son: iniciativas de publicación y enla-
zado de datos, anotación de contenidos, interoperabilidad de datos entre sistemas conciliando distintos modelos de datos, recuperación de información, búsquedas avanzadas, procesamiento del lenguaje, análisis de sentimientos, vigilancia tecno- lógica, razonamiento inductivo, clasificación, y diferentes técnicas de resolución de problemas.
Ejemplos de áreas de aplicación relevantes son: gobierno abierto, medicina, gestión
de conocimientos, recursos humanos, patrimonio cultural, geografía, vigilancia tec- nológica.
La reutilización de conocimiento permite ahorrar tiempo y recursos y proporcionar una forma común para compartir datos. Por ese motivo, el desarrollo de ontolo- gías debe estar basado en la reutilización de ontologías existentes. En este sentido, existen diferentes herramientas (buscadores, registros y repositorios) que facilitan la búsqueda y localización de ontologías. Merece la pena mencionar los buscadores
Watson73 y Swoogle74. Con respecto a los registros, Protégé Ontology Library75,
es un registro general que no dispone de funcionalidad de búsqueda, mientras que
BioPortal76 es un registro específico dirigido a la comunidad biomédica que propor-
ciona un espacio en el que compartir y descubrir ontologías. Existen otros registros dirigidos a comunidades específicas como es el caso de las ciudades inteligentes
para el que existe un catálogo de ontologías77 útiles para dicho dominio. Finalmen-
te, Linked Open Vocabularies78 (LOV) es un repositorio de ontologías, considerado
como un observatorio del ecosistema de vocabularios (principalmente usados en datos enlazados). LOV incorpora información sobre interconexión y dependencias entre vocabularios, historia de versiones y políticas de mantenimiento. Los resul- tados de una búsqueda de ontologías en este repositorio aparecen ordenados en función de la popularidad de los términos en los conjuntos de datos enlazados y en el ecosistema de LOV.
A continuación se describen en detalle los principales componentes de las ontolo- gías así como ejemplos de ontologías en diversos dominios (persona, organización, comercio electrónico, etc.).
73 Watson http://watson.kmi.open.ac.uk/WatsonWUI/ A Gateway for the Semantic Web
74 Swoogle http://swoogle.umbc.edu/)
75 Protégé Ontology Library http://protegewiki.stanford.edu/wiki/Protege_Ontology_Library 76 BioPortal http://bioportal.bioontology.org/
77 Catálogo de ontologías útiles en el contexto de las ciudades inteligentes http://smartcity.linkeddata.
es/
| 117 |
BIG INTELLIGENCE: nuevas Capacidades BIG DATA
PARA LOS SISTEMAS DE VIGILANCIA ESTRATÉGICA E INTELIGENCIA COMPETITIVA
8.1.1.
Principales componentes
Los principales componentes de las ontologías son las clases, las relaciones y los axiomas formales. Además, los modelos representados en las ontologías se pueden completar con datos específicos (individuos concretos), que se denominan instancias.
• Las Clasesrepresentan conceptos, en un sentido amplio. Por ejemplo, en el ámbito de la eficiencia energética en edificios, los conceptos pueden ser ‘Edificio’, ‘Puerta’, ‘Ventana’, ‘Dispositivo’, ‘Sensor’, etc.; y en el ámbito universitario se pueden tener clases como ‘Universidad’, ‘Curso’, ‘Asignatura’, ‘Profesor’, etc. Las clases de la onto-
logía se organizan generalmente en taxonomías o jerarquías a través de las cuales
se pueden aplicar mecanismos de herencia. Siguiendo con los ejemplos anteriores, en el dominio de la eficiencia energética en edificios, se puede representar una taxonomía de sensores (‘Sensor de Barrido’, ‘Sensor Óptico’, ‘Sensor Táctil’, etc.) o de diferentes tipos de puertas en los edificios (‘Puerta Interior’, ‘Puerta Exterior’, ‘Puerta Corredera’, ‘Puerta Giratoria’, etc.).
• Las Relacionesrepresentan un tipo de asociación entre conceptos del dominio.
Las relaciones más habituales son relaciones binarias (es decir, relaciones que involucran dos elementos). Por ejemplo, en el dominio de eficiencia energética en edificios, algunas relaciones podrían ser ‘estar localizado en’ o ‘contiene sensor’; y en el ámbito universitario se pueden tener relaciones como ‘imparte asignatura’,
‘asiste a curso’ o ‘examina’. En las relaciones binarias se suele hablar de dominio
y rango de la relación (siendo el primer elemento de la relación el dominio, y el segundo elemento de la relación el rango). Por ejemplo, la relación binaria ‘estar localizado en’ puede tener como dominio el concepto ‘Edificio’ y como rango el concepto ‘Lugar’; también podría tener como dominio el concepto ‘Dispositivo’. Cuando las relaciones binarias tienen como rango un tipo de datos (p. ej., cadena
de caracteres, números, etc.), éstas se denominan atributos. Por ejemplo, una
asignatura tiene un número de créditos, los españoles tienen un DNI, o los cursos tienen un nombre.
Es importante mencionar que los ejemplos de relaciones dados se refieren a las llamadas relaciones ad-hoc (o de dominio). Sin embargo, también existen otro tipo de relaciones, que permiten la creación de jerarquías de conceptos (relación ‘subcla- seDe’, que básicamente indica una clasificación). De esta manera, si dos conceptos están relacionados mediante una relación ‘subclaseDe’ se establece que los indivi- duos de la clase hija son a su vez individuos de la clase padre (también se puede decir que la clase hija es un tipo de la clase padre). Por ejemplo, si se establece que ‘sistema de detección de intrusos basado en red’ es subclase de (o es un tipo de) ‘sis- tema de detección de intrusos’ se puede inferir que todos los individuos declarados como ‘sistema de detección de intrusos basado en red’ son instancias de ‘sistema
| 118 | Capítulo 3
NUEVAS CAPACIDADES BIG DATA
de detección de intrusos’. Es importante no confundir este tipo de relaciones con
las relaciones ‘parteDe’, que permiten representar la relación de meronimia. Por
ejemplo, la clase ‘Sensor’ se podría relacionar con la clase ‘Sistema de detección de intrusos’ mediante una relación ‘parteDe’ (un sensor es uno de los elementos que componen los sistemas de detección de intrusos).
• Los axiomas formales79 sirven para modelar sentencias que son siempre verdad.
Normalmente se utilizan para representar el conocimiento que no se puede definir formalmente usando el resto de componentes. Los axiomas formales se utilizan para verificar la consistencia de la ontología o la consistencia del conocimiento almacenado en una base de conocimientos. Además, se suelen utilizar para inferir nuevo conocimiento. Un axioma en el dominio de eficiencia energética en edificios puede ser “no es posible construir un edificio público sin una puerta contra incendios” (basado en cuestiones legales).
• Las instancias se utilizan para representar elementos o individuos particulares en una ontología. Por ejemplo, en el dominio de eficiencia energética en edificios, algunas instancias de Edificio podrían ser Edificio Picasso o Edificio España; y en el ámbito universitario la Universidad Politécnica de Madrid y la Universidad Carlos III serían instancias del concepto Universidad.
Cuando se habla de ontologías, es habitual realizar la división entre el modelo, que representa el conocimiento del dominio en general, y la base de conocimiento, que incluye los individuos particulares que siguen el modelo. La Figura 2 muestra dicha división así como los componentes que conforman cada parte.
figura 2
Modelo (TBox) y base de conocimiento (ABox)
Modelo Ontología Base de conocimiento Conceptos Taxonomías Relaciones Propiedades Axiomas Conceptos instanciados Relaciones instanciadas Propiedades instanciadas Instancias
| 119 |
BIG INTELLIGENCE: nuevas Capacidades BIG DATA
PARA LOS SISTEMAS DE VIGILANCIA ESTRATÉGICA E INTELIGENCIA COMPETITIVA
Por último merece la pena comentar que si las ontologías se desarrollan usando el formalismo de Lógica Descriptiva, la distinción mostrada en la Figura 2 se realiza entre la llamada TBox y la ABox. La TBox contiene la terminología referente al conocimiento del dominio, mientras que la ABox contiene el conocimiento extendido, es decir las definiciones de los individuos.
8.1.2.
Ontologías públicas
Las ontologías no sólo permiten anotar semánticamente datos aportándoles signifi- cado si no también compartir conceptualizaciones en un dominio dado, por ejemplo con el objetivo de reconciliar distintas fuentes de datos. En este sentido las ontologías deben ser compartidas entre varias partes e idealmente deberían estar disponibles en la web bajo licencias abiertas. En este escenario, una ontología debe ser recupe- rable en la web a través de su URI ofreciendo mecanismo para acceder a su código fuente, en formato legible para las máquinas y posiblemente en distintos formatos, y a la documentación asociada a la ontología en formato legible para los humanos. A continuación se muestran algunos ejemplos de ontologías disponibles en la web organizados por dominios:
• Personas y Organizaciones:
· Friend of a friend Ontology (prefijo: foaf; URI: http://xmlns.com/foaf/0.1/):es una ontología ampliamente aceptada por la comunidad de la web semántica que permite describir personas y grupos sociales incluyendo información básica sobre los mismos así como sus relaciones con otras personas y proyectos.
· vCard Ontology (prefijo: vcard; URI: http://www.w3.org/2006/vcard/ns#): es una ontología que permite describir personas y organizaciones usando la información que normalmente se detalla en las tarjetas de visita.
· Organization Ontology (prefijo: org; URI: http://www.w3.org/ns/org#)es
una recomendación del W3C desde enero de 2014 quepermitela publicación
de información sobre organizaciones y estructuras organizacionales como son las gubernamentales. Esta ontología proporciona un vocabulario gené- rico y reutilizable que puede ser extendido o especializado para situaciones particulares.
| 120 | Capítulo 3
NUEVAS CAPACIDADES BIG DATA
hasRegisteredSite (subsets hasSite)
Role Post Membership ChangeEvent rdf: Property foaf: Group rdf: Resource rdfs: Resource rdfs: Resource skos: Concept foaf: Person xsd: String time: interval role Property member During role hasMembe r role holds changedBy hasPost resultedFrom resulting Organization originalOrganization organization postin purpose identifier classification member foaf:Agent
memberOf headOf (subsets member Of)
hasMembe r heldBy reports To linkedTo (disjoint) hasSubOrganization subOrganizationOf siteOf siteOf siteOf unitOf hasUnit hasSite hasPrimarySite (subsets hasSite)
location siteAddress basedAt Organizational Collaboration Organizational Unit Site Organization Formal Organization • Documentos:
· Dublin Core (prefijo: dc; URI: http://purl.org/dc/terms/): es un ontología para
describir recursos mediante metadatos simples y generales (DC terms).
· Bibliographic Ontology (prefijo: bibo; URI: http://purl.org/ontology/bibo/): es una ontología para describir datos bibliográficos en la Web. Se puede usar como ontología de citas y para clasificación de documentos.
· Metadata Authority Description Schema (prefijo: mads; URI: http://www.loc.gov/
mads/rdf/v1) es un vocabulario para describir datos utilizados en el contexto de
las bibliotecas y la comunidad de la sociedad de la información, como museos, archivos y otras instituciones culturales. Este vocabulario permite la descripción de personas, corporaciones, geografía, etc
• Información geográfica:
· WGS84 Geo Positioning (prefijo: geo; URI: http://www.w3.org/2003/01/geo/
wgs84_pos) es una ontología para representar puntos geográficos (longitud y
| 121 |
BIG INTELLIGENCE: nuevas Capacidades BIG DATA
PARA LOS SISTEMAS DE VIGILANCIA ESTRATÉGICA E INTELIGENCIA COMPETITIVA
• Estadísticas:
· RDF Data Cube Vocabulary (prefijo: qb; URI: http://purl.org/linked-data/cube#;
http://www.w3.org/TR/vocab-data-cube/): es una ontología para la publicación
de datos multidimensionales (como estadísticas) en la web.
• Otros vocabularios:
· Semantic Sensor Network Ontology (prefijo: ssn URI: http://purl.oclc.org/NET/
ssnx/ssn) ha sido desarrollada en el contexto del W3C. Esta ontología se ha con-
vertido en el estándar de facto para representar redes de sensores, observaciones y conceptos relacionados como dispositivos, plataforma, capacidades de medidas como precisión y etc.
· PROV Ontology (prefijo: prov; URI: http://www.w3.org/ns/prov#): es una ontolo-
gía que permite representar e intercambiar información sobre procedencia (pro-
venance) generada por diversos sistemas y en contextos diferentes.
· Vocabulary of Interlinked Datasets (prefijo: void; URI: http://rdfs.org/ns/void#;
http://www.w3.org/TR/void/): es una ontología para describir conjuntos de datos
RDF. Facilita el descubrimiento y la utilización de conjuntos de datos RDF por parte de usuarios potenciales (agregadores, indexadores, desarrolladores de apli- caciones).
· Data Catalog Vocabulary (prefijo: dcat; URI: http://www.w3.org/ns/dcat#; http://
www.w3.org/TR/vocab-dcat/): es una ontología para facilitar la interoperabilidad
de catálogos de datos publicados en la Web. Facilita el descubrimiento de catá- logos de datos y el consumo de metadatos procedentes de distintos catálogos. · Asset Description Metadata Schema (prefijo: adms; URI: http://www.w3.org/ns/
adms): es una ontología que describe conceptos relacionados con la interopera-
bilidad semántica de recursos.
· Public Contracts Ontology (prefijo: pc; URI: http://purl.org/procurement/public-
contracts#): es una ontología que sirve para expresar en RDF datos estructurados
sobre los contratos públicos. Permite el intercambio fluido de datos anotados semánticamente a través de fuentes de datos distribuidas.
· GoodRelations (prefijo: gr; URI: http://purl.org/goodrelations/v1): es una ontolo-
gía queproporciona el vocabulario para anotar ofertas de comercio electrónico.
En este vocabulario se definen y relacionan conceptos como producto, precio, oferta, venta, alquiler, método de pago, licencia, entre otros. Esta ontología ha sido ampliamente aceptada convirtiéndose en el estándar de facto para publicar ofertas de comercio electrónico.
| 122 | Capítulo 3
NUEVAS CAPACIDADES BIG DATA
· Ontology for Media Resources 1.0 (prefijo: ma; URI http://www.w3.org/ns/ma- ont#): es una ontología que permite reducir las diferentes descripciones de recur-
sos de medios de comunicación (media resources) y que proporciona un conjunto
básico de propiedades descriptivas. Esta ontología define las asignaciones entre su conjunto de propiedades y elementos de los formatos de metadatos más uti- lizados para describir recursos multimedia.
8.1.3.
Herramientas de desarrollo de ontologías
En este apartado se describen brevemente las características de las herramientas de libre distribución de desarrollo de ontologías más importantes.
La herramienta de desarrollo de ontologías Protégé ha sido desarrollada en el Stanford Medical Informatics (SMI) de la Universidad de Stanford. Esta aplicación autónoma de