
El OWL (Web Ontology Language) o Lenguaje de
Ontologías para la Web, se ha convertido en recomendación del W3C el 10 de
febrero de 2004 (http://www.w3.org/TR/owl-ref/).
La web: OWL Web Ontology Language Overview (http://www.w3.org/TR/owl-features/)
ofrece una explicación detallada de en qué consiste este lenguaje, para qué se
usa y cuáles son los conceptos fundamentales empleados por dicho lenguaje.
El Web Ontology
Language OWL está diseñado para usarse cuando la información contenida en los documentos necesita ser procesada
por programas o aplicaciones, en oposición a situaciones donde el contenido solamente
necesita ser presentado a los seres humanos. OWL puede usarse para representar
explícitamente el significado de términos en vocabularios y las relaciones entre
aquellos términos. Esta representación de los términos y sus relaciones se
denomina
una ontología. En realidad, OWL es una extensión
del lenguaje RDF y emplea las tripletas de RDF, aunque es
un lenguaje con más poder expresivo que éste.
OWL posee más funcionalidades para expresar el significado y semántica
que XML, RDF, y
RDFS, pero OWL va más allá que estos lenguajes
pues ofrece la posibilidad de
representar contenido de la Web interpretable por máquina. OWL es una revisión
del lenguaje de ontologías web
DAML+OIL
que incorpora lecciones aprendidas desde el diseño y aplicaciones de DAML+OIL.
El lenguaje OWL tiene 3 sub-lenguajes que incrementan su expresión:
OWL Lite, OWL DL,
y OWL Full.
La recomendación introductoria de este lenguaje está indicada para quienes
pretendan obtener una
primera impresión de la capacidades de OWL. La especificación ofrece una introducción a OWL para
describir informalmente las características de cada uno de los sub-lenguajes
de OWL. Se precisa algún conocimiento de
RDF Schema
para comprender este documento, pero no es esencial. El documento recomienda que
los lectores interesados consulten
OWL Guide para
descripciones más detalladas y para ejemplos más extensos de las
características de OWL. La definición formal normativa de OWL puede encontrarse
en OWL Semantics and Abstract Syntax.
El Web Ontology Language OWL es, en realidad, un lenguaje de etiquetado semántico para
publicar y compartir ontologías en la World Wide Web. OWL se ha desarrollado
como una extensión del vocabulario de RDF (Resource Description Framework) y
deriva del lenguaje DAML+OIL Web Ontology.
El lenguaje OWL se describe mediante un conjunto de
documentos, cada uno de los cuales tiene un propósito diferente y está dedicado
a un usuario diferente. A continuación se ofrece un breve mapa para la
navegación a través de este conjunto de documentos:
El motivo del desarrollo de este lenguaje
ha sido la puesta en marcha de la Web Semántica,
en realidad, una visión
para el futuro de la Web en la cual el significado de la información será dado
de forma explícita haciendo que las máquinas automaticen de forma más
fácil los procesos e integren la información disponible en la Web. La Web
Semántica se construirá sobre la sintaxis del lenguaje XML
que se mejorará mediante el uso de esquemas RDF para representar
el contenido de los datos. El primer nivel sobre RDF requerido para la
Web Semántica es un lenguaje de ontologías que pueda describir formalmente el
significado de la terminología usada en los documentos web. Si las
máquinas son capaces de realizar tareas de razonamiento sobre los documentos en
los que se utilice una semántica que vaya más lejos que la
semántica básica de RDF Schema, la Web Semántica
irá por buen camino. El
OWL Use
Cases and Requirements Document ofrece más
detalles
sobre ontologías,
motiva la necesidad de un Lenguaje de Ontología Web en términos de
seis
casos de uso,
y formula el
diseño
de objetivos,
requerimientos
y objetivos
para
OWL.
OWL ha sido diseñado para conocer las necesidades para un
lenguaje de ontología de la Web y es,
pues, parte de las recomendaciones del W3C
relacionadas con la Web Semántica.
-
XML provee una
sintaxis superficial para documentos estructurados, pero no impone restricciones
semánticas en el significado de estos documentos.
-
XML Schema
es un lenguaje para
restringir la estructura de los documentos XML y también extiende XML con tipos
de datos.
-
RDF
es un modelo de datos para objetos ("recursos") y para las relaciones
entre ellos, provee una semántica simple para este modelo de datos, a la vez
que este
modelo de datos puede ser representado en sintaxis XML.
-
RDF Schema
es un vocabulario para describir propiedades y clases de recursos RDF, con una
semántica para generalización de jerarquías de aquellas propiedades y clases.
-
OWL añade más vocabulario para describir propiedades
y clases: entre otras, relaciones entre clases (ejemplo, inconexas), cardinalidad (ejemplo "exactamente
uno"), igualdad, más ricos tipos de propiedades, características de las
propiedades (por ejemplo, simetría), y clases enumeradas.
Los tres sublenguajes de OWL
OWL ofrece tres sub-lenguajes de expresión incremental diseñados para
ser usados por
comunidades específicas de desarrolladores y usuarios según el nivel de
expresividad que precisen éstos.
-
OWL Lite da soporte a aquellos
usuarios que
primordialmente necesitan una clasificación jerárquica y restricciones simples.
Por ejemplo, soporta restricciones cardinales, pero solamente
permite valores cardinales de 0 ó 1. Así pues, es más simple proveer herramientas de soporte para OWL Lite. OWL Lite ofrece una rápida ruta de migración para
tesauros y
otras taxonomías. En resumen, OWL Lite tiene una más baja complejidad formal que
OWL DL.
-
OWL DL da soporte a aquellos
usuarios que
quieren la máxima expresividad
mientras conservan completamente la computacionalidad (todas las
conclusiones son garantizadas para ser computables) y resolubilidad (todas las
computaciones terminarán en tiempo finito). OWL DL incluye todos los constructos del lenguaje OWL, pero pueden
usarse
solamente bajo ciertas restricciones (por ejemplo, mientras una clase puede
usarse por una subclase de muchas clases, una clase no puede ser una instancia
de otra clase). OWL DL se denomina así debido a su correspondencia con
las descripciones lógicas (DL),
un campo de investigación que han estudiado los lógicos para la fundación
formal de OWL.
-
OWL Full da soporte a
usuarios que requieren
el máximo de expresividad y la libertad sintáctica de RDF sin garantías
computacionales. 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. OWL Full
permite a una ontología aumentar el significado del vocabulario predefinido (RDF
ó OWL). Es poco probable que algún software racional pueda soportar por
completo el razonamiento para cada característica de OWL Full.
Cada uno de estos sub-lenguajes es una extensión de su predecesor más simple,
en los que ambos pueden ser expresados legalmente y en los que pueden ser
válidamente concluidos. El
conjunto siguiente de relaciones es correcto, sin embargo, no sus inversas.
- Cada ontología legal OWL Lite es una ontología legal OWL DL.
- Cada ontología legal OWL DL es una ontología legal OWL Full.
- Cada conclusión válida OWL Lite es una conclusión válida OWL DL.
- Cada conclusión válida OWL DL es una conclusión válida OWL Full.
Los desarrolladores de ontologías adoptarán el sub-lenguaje OWL
que consideren que mejor responde a sus necesidades. La elección entre OWL Lite
y OWL DL dependerá de la mayor o menor extensión que los
usuarios requieran de
los constructos más expresivos provistos por OWL DL. La elección entre OWL DL y OWL Full dependerá, principalmente, de la extensión que los usuarios requieran de las
posibilidades del metamodelo de RDF Schema (por ejemplo, definir clases de
clases, o adjuntar propiedades a clases). Cuando se usa OWL Full en comparación
a OWL DL, la razón es menos predictible porque las implementaciones completas de OWL Full
no existen actualmente.
OWL Full puede verse como una extensión de
RDF, mientras que OWL Lite y OWL DL pueden verse como extensiones de una forma restrictiva de
RDF. Cada
documento OWL (Lite, DL, Full)
es un documento RDF, y cada documento RDF es un documento OWL Full, pero
solamente los documentos RDF serán un documento OWL Lite u OWL DL legales.
A causa de esto, los usuarios tienen que tomar ciertas
precauciones si quieren migrar un documento RDF hacia un
documento OWL. Cuando la expresividad de OWL DL u OWL Lite se considera
apropiada, deben
tomarse algunas precauciones para asegurarse de que el documento original
RDF cumpla con las restricciones adicionales impuestas por OWL DL y OWL Lite.
Entre otras,
cada URI que se usa como un nombre de clase debe ser explícitamente asertado
para ser del tipo
owl:Class (y de igual forma para las propiedades), cada individuo debe ser
asertado como perteneciente a una clase (también si solamente es
owl:Thing), los URIs usados por las clases,
propiedades e individuos deben ser mutuamente inconexos. Los detalles de
estas y otras restricciones en OWL DL y OWL Lite se explican en el
appendix E
de la OWL
Reference.
Para hacernos una idea de en qué consiste el lenguaje OWL,
nos centraremos en OWL-Lite, puesto que, aunque OWL Lite usa solamente algunas
características de los lenguajes OWL y tiene más limitaciones en el uso de las
características que OWL DL o OWL Full, con este sub-lenguaje
ya se pueden establecer relaciones jerárquicas entre los conceptos que componen
una ontología, a la vez que aporta una menor complejidad formal que sus hermanos
mayores. De hecho OWL Lite proporciona una forma rápida de migrar
tesauros y otras taxonomías al ámbito de la
Web Semántica.
Por ejemplo, las clases OWL Lite pueden ser solamente
definidas en términos de las llamadas superclases (las superclases no pueden ser
expresiones arbitrarias), y solamente pueden usarse ciertas clases de
restricciones. La equivalencia entre clases y relaciones entre subclases con las
clases solamente están permitidas entre clases de nombres, y no entre
expresiones de clases arbitrarias. De igual forma, las restricciones en OWL Lite
usan solamente clases de nombres. OWL
Lite también tiene una notación limitada de cardinalidad -solamente están
permitidos explícitamente para ser establecidos 0 ó 1.
He aquí, pues, algunos ejemplos de los conceptos principales
de OWL Lite y sus definiciones:
Características RDF Schema de OWL Lite:
-
Class:
Una clase define un grupo de individuos que permanecen juntos porque comparten
las mismas propiedades. Por ejemplo, Juana y Pedro son ambos miembros de la
clase
Persona. Las clases pueden ser organizadas en una jerarquía especial, usando
subClassOf. Hay una construcción de clase más general llamada Thing que
es la clase de todos los individuos y una superclase de todas las clases OWL.
Hay también una construcción más específica de clase llamada Nothing
que es la clase que no tiene instancias y una subclases de todas las clases OWL.
-
rdfs:subClassOf:
Las jerarquías de clase deben crearse para hacer una o más declaraciones de
que
una clase es un subclase de otra clase. Por ejemplo, la clase Persona podría
ser establecida para ser una subclase de la clase Mamífero. Desde aquí
un razonador puede deducir que si un individuo es una Persona, entonces es
también un Mamífero.
-
rdf:Property:
Las propiedades pueden usarse para state relaciones entre individuos o desde
individuos a valores de datos. Ejemplos de propiedades son hasChild, hasRelative,
hasSibling, y hasAge. Las tres primeras pueden usarse para
relacionar una instancia de una clase Person a otra instancia de la
clase
Person (y son entonces ocurrencias de ObjectProperty),
y el último (hasAge) puede usarse para relacionar una instancia de la clase
Persona
a una instancia del tipo de datos Entero (y es entonces una ocurrencia de
DatatypeProperty).
Ambos owl:ObjectProperty y owl:DatatypeProperty son subclasses de
la clase RDF rdf:Property.
-
rdfs:subPropertyOf: Las
jerarquías de propiedades deben crearse para hacer una o más declaraciones que
una propiedad es una subpropiedad de una o más other propiedades. Por ejemplo,
hasSibling debe ser establecida para ser una subpropiedad de hasRelative.
Desde aquí un razonador puede deducir que si un individuo está relacionado a
otro por la propiedad hasSibling, entonces éste está también
relacionado a otro por la propiedad hasRelative.
-
rdfs:domain:
Un dominio de una propiedad limita los individuos a los que se aplica la
propiedad. Si una propiedad relaciona un individuo a otro individuo, y
la propiedad tiene una clase como uno de sus dominios, entonces el individuo
debe pertenecer a la clase. Por ejemplo, la propiedad hasChild debe ser
establecida para tener
el dominio de Mamífero. Desde aquí un razonador puede deducir que si
Pedro hasChild Ana,
entonces
Pedro debe ser un Mamífero. Note que rdfs:domain se denomina una
restricción global desde que la restricción está establecida sobre la
propiedad y no justamente sobre la propiedad cuando esta está asociada con una clase particular.
-
rdfs:range:
El rango de una propiedad limita los individuos que la propiedad debe tener
como su valor. Si una propiedad relaciona un individuo a otro individuo, y la
propiedad tiene una clase como su rango, entonces el otro individuo debe
pertenecer a la clase del rango. Por ejemplo, la propiedad hasChild
debe ser establecida para tener el rango de Mamífero. Desde aquí un
razonador puede
deducir que si Luisa está relacionado con Juana por la propiedad hasChild, (por
ejemplo, Juana es la hija de Luisa),
entonces
Juana es un Mamífero. El rango es también una restricción global como lo era
el dominio.
-
Individual
: Los individuos son instancias de clases, y las propiedades deben usarse para
relacionar un individuo con otro. Por ejemplo, un individuo llamado Juana
debe ser descrito como una instancia de la clase Persona y la propiedad hasEmployer
debe ser usada para relacionar el individuo Juana al individuo
UniversidadComplutense.
Características que tienen que ver con igualdad o desigualdad en OWL Lite:
-
equivalentClass : Dos
clases pueden ser establecidas para ser equivalentes.
Las clases equivalentes tienen las mismas instancias. La igualdad puede usarse
para crear clases de sinónimos. Por ejemplo, Coche puede ser
establecido para ser equivalentClass a Automóvil. Desde
aquí, se puede deducir que algún individuo que tiene una instancia para
Coche es también una instancia de Automóvil y viceversa.
-
equivalentProperty: Dos
propiedades pueden ser establecidas como equivalentes. Las propiedades de
equivalencia relacionan un individuo al mismo conjunto de otros individuos. La
igualdad debe usarse para crear propiedades de sinónimos. Por ejemplo, hasLeader
debe establecerse para la equivalentProperty a hasHead.
Desde aquí se puede deducir que si X está relacionado con Y por la propiedad
hasLeader,
X está también relacionado a Y por la propiedad hasHead y viceversa.
Un razonador puede también deducir que hasLeader es una subpropiedad de
hasHead y hasHead es una subpropiedad de hasLeader.
-
sameAs:
Dos individuos deben ser establecidos como lo mismo. Estos constructos deben
ser usados para crear un número de nombres diferentes para referirse al mismo
individuo. Por ejemplo, el individuo Juana puede ser establecido al mismo
individuo como JuanaPérez.
-
differentFrom: Un individuo
puede ser establecido como diferente de otros individuos. Por ejemplo, el
individuo Pedro puede ser establecido como diferente de los individuos
Juana y Mariano. Entonces, si los individuos Pedro y
Juana son ambos valores para una propiedad que es establecida para ser
funcional (entonces la propiedad tiene más de un valor), existe una
contradicción. Establecer explícitamente que los individuos son diferentes
puede ser importante cuando usamos lenguajes tales como OWL (y RDF) que no
asumen que los individuos tienen uno y solamente un nombres. Por ejemplo, con
información no adicional, un razonador no deducirá que Pedro y Juana se
refieren a individuos distintos.
-
AllDifferent: Un número de
individuos puede ser establecido para ser mutuamente distintos en una
declaración AllDifferent. Por ejemplo, Pedro, Juana, y Mariano podrían
ser establecidos como distintos usando el constructo AllDifferent.
Al contrario que la declaración differentFrom, eta podría también
imponer que Mariano y Juana son distintos (pero no que Pedro
es distinto de Juana y Pedro es distinto de Mariano. El
constructo AllDifferent se usa particularmente cuando hay un conjunto
de distintos objetos y cuando los modeladores están interesados en imponer los
nombres únicos supuestos dentro de aquel conjunto de objetos. Se usa en
conjunción con distinctMembers para establecer que todos los miembros
de una lista son distintos y pares inconexos.
Identificadores especiales en OWL Lite que se usan para proveer
información concerniente a las propiedades y valores.
-
inverseOf:
Una propiedad puede ser establecida para ser la inversa de otra propiedad. Si
se establece la propiedad P1 como inversa de la propiedad P2, entonces si X se
relaciona a Y por la propiedad P2,Y estará relacionada a X por la propiedad P1.
Por ejemplo, si hasChild es la inversa de hasParent y Juana
hasParent Luisa, entonces, un razonador deduce que Luisa
hasChild Juana.
-
TransitiveProperty: Las
propiedades pueden establecerse como transitivas. Si una propiedad es
transitiva, entonces si el par (x,y) es una instancia de la propiedad
transitiva P, y el par (y,z) es una instancia de P, entonces el par (x,z)
es también una instancia de P. Por ejemplo, si ancestro se establece
para ser transitiva,
y si Sara es un ancestor de Luisa (por ejemplo, (Sara,Luisa) es
una instancia de la propiedad ancestro) y Luisa es un
ancestro de Juana (por ejemplo, (Luisa,Juana)
es una instancia de la propiedad ancestro), entonces un razonador puede
deducir que Sara es un ancestro de Juana (por ejemplo, (Sara,Juana)
es una instancia de la propiedad ancestro).
OWL Lite (y OWL DL) imponen la condición de que las propiedades transitivas (y
sus superpropiedades) no pueden tener una restricción maxCardinality 1.
-
SymmetricProperty: Las
propiedades pueden establecerse como simétricas. Si una propiedad es
simétrica, entonces si el par (x,y) es una instancia de la propiedad simétrica
P, entonces el par (y,x) es también una instancia de P. Por ejemplo, amigo
puede ser establecido como una propiedad simétrica. Así, un razonador al que
se da que Pedro es amigo de Juan, puede deducir que Juan
es amigo de Pedro.
-
FunctionalProperty : Las
propiedades pueden ser establecidas para tener un valor único. Si una
propiedad es una FunctionalProperty, entonces, no tiene mas que un
valor para cada individuo (no debe tener valores para un individuo). Esta
característica se denomina como una propiedad única.
FunctionalProperty es la forma abreviada para establecer que la
cardinalidad mínima de la propiedad es cero y la cardinalidad máxima es 1. Por
ejemplo,
hasPrimaryEmployer puede ser establecida para ser una FunctionalProperty.
Desde aquí, un razonador puede deducir que no individual puede tener más
que un empleado primary.
Esto no implica, sin embargo, que cada Persona deba tener al menos un empleado.
-
InverseFunctionalProperty:
Las propiedades pueden ser establecidas para ser funcionalmente inversas. Si
una propiedad es funcionalmente inversa entonces la inversa de la propiedad es
funcional. Entonces la inversa de la propiedad tiene más de un valor para cada
individuo. Esta característica también se denomina como una propiedad
inambigua. Por ejemplo, hasESSocialSecurityNumber (un único
identificador para residentes en España) debe establecerse para ser funcional
inverso (o inambiguo). La inversa de esta propiedad (que debe ser referida
como isTheSocialSecurityNumberFor) tiene más de un valor para cada
individuo en la clase de los números de la Seguridad Social. Entonces un
número de Seguridad Social de una persona es el único valor para su propiedad
isTheSocialSecurityNumberFor. Desde aquí un razonador puede deducir que
dos instancias individuales de Persona no tienen idéntico número de
Seguridad Social. También un razonador puede deducir que si dos instancias de
Persona tienen el mismo número de Seguridad social, entonces aquellas dos
instancias se refieren al mismo individuo.
OWL usa los mecanismos RDF para valores de datos.
OWL Lite
soporta notaciones de inclusión de ontologías y relaciones e información adjunta
a ontologías. También permite notaciones en clases, propiedades,
individuos y cabeceras de ontologías. El uso de estas notaciones está sujeto a
ciertas restricciones. RDF, por ejemplo, ya posee un pequeño vocabulario para describir
información sobre la versión de un documento, pero OWL extiende significativamente este vocabulario.
OWL DL y OWL Full usan el mismo vocabulario.
Veamos también un ejemplo del vocabulario OWL DL y OWL Full que
extiende las construcciones de OWL Lite:
-
oneOf:
(clases enumeradas): Las clases pueden describirse por enumeración de
individuos que componen la clase. Los miembros de la clases son exactamente el
conjunto de individuos enumerados, ni más ni menos. Por ejemplo, la clase de
DíasdelaSemana puede describirse por una simple enumeración de
individuos Lunes, Martes, Miércoles, Jueves,
Viernes, Sábado, Domingo. A partir de aquí, un razonador
puede deducir el máximo cardinal (7) de alguna propiedad que tiene el
DíasdelaSemana como su restricción allValuesFrom.
-
hasValue:
(valores de propiedad): Una propiedad puede ser requerida para tener un cierto
individuo como un valor (también algunas veces para referirse a un valor de
propiedad). Por ejemplo, instancias de la clase de CiudadanosAlemanes
pueden ser caracterizados como aquella gente que tiene theNetherlands como un
valor de su nacionalidad. (El valor nacionalidad, es una instancia de la clase
de Nacionalidades).
-
disjointWith: Las clases
pueden ser establecidas para ser distintas de otras. Por ejemplo, Hombre
y Mujer pueden ser establecidas para ser clases distintas. Desde la
declaración de esta disjointWith, un razonador puede deducir una
inconsistencia cuando un individuo es establecido para ser una instancia de
ambos y de igual forma un razonador pude deducir que si A es una instancia de
Hombre, entonces A no es una instancia de Mujer.
-
unionOf,
complementOf, intersectionOf (combinaciones
booleanas): OWL DL y OWL Full permiten combinaciones booleanas
arbitrarias de clases y restricciones:
unionOf, complementOf, e intersectionOf. Por ejemplo,
usando unionOf, podemos establecer que una clase contiene cosas que son either
CiudadanosEspañoles ó CiudadanosAlemanes.
Usando complementOf, podríamos establecer que los niños no son
CiudadanosMayoresdeEdad.
(por ejemplo, la clase Niños es una subclase del complemento de
CiudadanosMayoresdeEdad).
Ciudadanos de la Unión Europea podría describirse como la unión de los
ciudadanos de todos los estados miembros.
-
minCardinality, maxCardinality, cardinality (cardinalidad
plena):
Mientras que en OWL Lite, la cardinalidad está restringida al máximo,
más exactamente a 1 ó 0, OWL Full permite declaraciones cardinales para
enteros no negativos. Por ejemplo, la clase de DRNKs ("Doble
renta, No Kids") podría restringir la cardinalidad de la propiedad hasIncome
a una mínima cardinalidad de dos (mientras la propiedad hasChild podría
tener restringida la cardinalidad a
0).
-
complex classes
: En muchos constructos, OWL Lite restringe la sintaxis a nombres de
clase únicos (por ejemplo, en declaraciones subClassOf ó equivalentClass).
OWL Full extiende esta restricción para permitir descripciones de
clases complejas, que constan de clases enumeradas, restricciones de
propiedades, y combinaciones booleanas. También, OWL
Full permite que las clases sean usadas como instancias (y OWL DL y
OWL Lite no).
Existe un servicio de validación de los distintos tipos de
OWL (Lite, DL y Full) que también permite mostrar los constructos utilizados o
la forma abstracta, desarrollado dentro del proyecto
WonderWeb:
http://phoebus.cs.man.ac.uk:9999/OWL/Validator
Como ejemplo de una ontología realizada en OWL y para ver la sintaxis de dicho
lenguaje, basado en RDF sobre XML,
podemos consultar la Ontología sobre Derechos de Autor desarrollada por
Distributed Multimedia Applications Group (DMAG) de la Universidad Pompeu
Fabra
http://dmag.upf.es. En
http://dmag.upf.es/ontologies/ipronto/ podemos visualizar dicha
ontología: IPROnto Intellectual Property Rights Ontology en su versión actual OWL y en la antigua versión
para DAML-OIL. He aquí una reproducción parcial de la
ontología IPROnto en su versión OWL:
<?xml
version="1.0" ?>
-
<rdf:RDF
xmlns:rss="http://purl.org/rss/1.0/"
xmlns:jms="http://jena.hpl.hp.com/2003/08/jms#"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema#"
xmlns="http://dmag.upf.es/ontologies/2003/12/ipronto.owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"
xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xml:base="http://dmag.upf.es/ontologies/2003/12/ipronto.owl">
- <owl:Ontology
rdf:about="">
<dc:creator>Distributed
Multimedia Applications Group (http://dmag.upf.es)</dc:creator>
<dc:title>Intellectual
Property Rights Ontology</dc:title>
<dc:description>An
ontology to model Intellectual Property Rights suited for Digital
Rights Management</dc:description>
<dc:date>2001-12-08</dc:date>
<dc:subject>Intellectual
Property Rights, Digital Rights, IPR, DRM, Ontology</dc:subject>
</owl:Ontology>
- <owl:Class
rdf:ID="LegalEntity">
<rdfs:comment>An
entity possessing the capacity in law to exercise or enjoy an
intellectual property right.</rdfs:comment>
<owl:Class
rdf:about="#LegalConcept"
/>
</rdfs:subClassOf>
- <owl:unionOf
rdf:parseType="Collection">
<owl:Class
rdf:about="#NaturalLegalEntity"
/>
<owl:Class
rdf:about="#CorporateLegalEntity"
/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
<rdfs:label>Person</rdfs:label>
</owl:Class>
- <owl:Class
rdf:ID="Abstraction">
<rdfs:comment>A
creation which is a concept; an abstract creation whose existence
and nature are inferred from one or more expressions or
manifestations.</rdfs:comment>
<owl:Class
rdf:about="#Abstract"
/>
</rdfs:subClassOf>
<rdfs:label>Abstraction</rdfs:label>
</owl:Class>
- <owl:Class
rdf:ID="CiteRight">
<rdfs:label>CiteRight</rdfs:label>
<owl:Class
rdf:about="#ExceptionsRight"
/>
</rdfs:subClassOf>
</owl:Class>
- <owl:Class
rdf:ID="Reproduce">
<owl:Class
rdf:about="#Use"
/>
</rdfs:subClassOf>
<rdfs:label>Reproduce</rdfs:label>
</owl:Class>
- <owl:Class
rdf:ID="IPRLicense">
<rdfs:label>IPRLicense</rdfs:label>
<owl:Class
rdf:about="#Agreement"
/>
</rdfs:subClassOf>
</owl:Class>
- <owl:Class
rdf:ID="CorporateLegalEntity">
<owl:Class
rdf:about="#NaturalLegalEntity"
/>
</owl:disjointWith>
<rdfs:label>CorporatePerson</rdfs:label>
<rdfs:subClassOf
rdf:resource="#LegalEntity"
/>
</owl:Class>
- <owl:Class
rdf:ID="GeographicArea">
<rdfs:comment>A
geographic location, generally having definite boundaries. Note that
this differs from its immediate superclass Place in that a
GeographicArea is a Place of significant size.</rdfs:comment>
<rdfs:label>GeographicArea</rdfs:label>
<owl:Class
rdf:about="#Place"
/>
</rdfs:subClassOf>
</owl:Class>
- <owl:Class
rdf:ID="Creator">
<rdfs:label>Creator</rdfs:label>
<owl:Class
rdf:about="#RightsHolder"
/>
</rdfs:subClassOf>
</owl:Class>
- <owl:Class
rdf:ID="DistributionLicense">
<rdfs:label>DistributionLicense</rdfs:label>
<rdfs:subClassOf
rdf:resource="#IPRLicense"
/>
</owl:Class>
(..........................)
</rdf:RDF>
Fuente: Universidad Pompeu Fabra.
IPROnto ontology
http://dmag.upf.es/ontologies/2003/12/ipronto.owl
En el ejemplo que precede, vemos que la ontología se inicia con la declaración
de espacios de nombre XML encerrada tras la
etiqueta de apertura rdf:RDF y que muestra las consiguientes
URIs que identifican dicha
ontología en la
Web. Tras los namespaces comienzan las
declaraciones de OWL agrupadas bajo la etiqueta
owl:Ontology.
En primer lugar aparecen las cabeceras de metadatos
OWL, y posteriormente los elementos básicos de OWL tales como Clases, Subclases,
individuos, propiedades y relaciones.
Bibliografía:
BECHLOFER, Sean.
"DAML+OIL is not enough". SWW-1, Semantic Web working symposium. Stanford
(CA), July 29th-August 1 st, 2001.
http://potato.cs.man.ac.uk/papers/not-enough.pdf
DAML Language.
http://www.daml.org/language/
Description Logics.
http://dl.kr.org/
DMAG. Universidad Pompeu Fabra. IPROnto ontology
http://dmag.upf.es/ontologies/ipronto/
KAON. The Karlsruhe Ontology and Semantic Web Tool Suite. http://kaon.semanticweb.org/
KR. Principles of knowledge representation
and reasoning. http://kr.org/
OilEd Website.
http://oiled.man.ac.uk/
OntoEdit.
http://www.ontoprise.de/products/ontoedit_en
W3C.
DAM+OIL Reference Description.
http://www.w3.org/TR/daml+oil-reference
W3C. RDF Vocabulary Description Language 1.0: RDF Schema.
http://www.w3.org/TR/rdf-schema/
W3C. Resource Description Framework (RDF): Concepts and Abstract
Syntax.
http://www.w3.org/TR/rdf-concepts/
W3C. Resource
Description Framework (RDF).
http://www.w3.org/RDF/
W3C.
OWL Web Ontology Language Guide.
http://www.w3.org/TR/owl-guide/
W3C.
OWL Web Ontology Language. Overview.
http://www.w3.org/TR/owl-features/
W3C.
OWL Web Ontology Language Parsing OWL in RDF/XML.
http://www.w3.org/TR/owl-parsing
W3C.
OWL Web Ontology Language. Reference.
http://www.w3.org/TR/owl-ref/
W3C.
OWL Web Ontology Language Semantics and Abstract Syntax.
http://www.w3.org/TR/owl-semantics/
W3C.
OWL Web Ontology Language Test Cases.
http://www.w3.org/TR/owl-test/
W3C.
OWL Web Ontology Language Use Cases and Requirements.
http://www.w3.org/TR/2004/REC-webont-req-20040210/
W3C.
OWL Web Ontology Language XML Presentation Syntax.
http://www.w3.org/TR/owl-xmlsyntax/
W3C. OWL-S. Semantic Markup for Web Services.
http://www.w3.org/Submission/OWL-S/
W3C.
W3C Web Ontology (WebOnt) Working Group (Closed).
http://www.w3.org/2001/sw/WebOnt/
W3C.
World Wide Web Consortium Issues RDF and OWL Recommendations.
http://www.w3.org/2004/01/sws-pressrelease.html.en
W3Schools.org. Introduction to OWL.
http://www.w3schools.com/rdf/rdf_owl.asp
WonderWeb. WonderWeb OWL Ontology Validator.
http://phoebus.cs.man.ac.uk:9999/OWL/Validator
WonderWeb. Ontology Infraestructure for the Semantic Web. Homepage.
http://wonderweb.semanticweb.org/ y
http://wonderweb.man.ac.uk/owl/
|