Sei sulla pagina 1di 22

Sistemas de Representación y Procesamiento

Automático del Conocimiento

ESTUDIO DE OWL Y SU INTEGRACIÓN EN

Fernando Leandro Baladrón

Salvador Rubio Montero


ÍNDICE

1. Objetivos.......................................................................................................................3

2. Metodología..................................................................................................................3

3. OWL .............................................................................................................................3

3.1 Introducción.......................................................................................................... 3

3.2 Clases de OWL ..................................................................................................... 4

3.3 Especificación - Componentes ............................................................................. 5


3.3.1 Clases simples e individuos ........................................................................... 5
3.3.2 Propiedades simples ...................................................................................... 7
3.3.3 Clases complejas .......................................................................................... 10
3.3.4 Utilidades propias de OWL ........................................................................ 11

3.4 Herramientas – Grupos relacionados con OWL ............................................. 12


3.4.1 Tecnologías relacionadas con OWL........................................................... 12
3.4.2 Utilidad de OWL ......................................................................................... 14
3.4.3 Ejemplo COMICS OWL..............................................................................14

4. Conclusiones...............................................................................................................19

5. Bibliografía.................................................................................................................21

2
1. Objetivos

El objetivo del presente trabajo es estudiar el plugin de OWL y su integración en


protégé, explicando sus funcionalidades, así como características y sintaxis. Como
medida complementaria, se analizará un ejemplo de aplicación relacionado con dicho
plugin.

2. Metodología

Para la elaboración de dicho trabajo se ha utilizado la herramienta Protege, así


como su plugin relacionado con el manejo de estructuras de OWL.
Para la parte relacionada con la sintaxis se ha recurrido a manuales
especializados y tutoriales, mientras que para la elaboración del ejemplo practico se ha
intentado adaptar un ejercicio de clase para que se pueda manejar en OWL.

3. OWL

3.1 Introducción

Las ontologías se usan para capturar el conocimiento sobre algún dominio de interés.
Una ontología describe los conceptos en el dominio y también las relaciones que pueden
mantenerse entre esos conceptos. Diferentes lenguajes de ontologías proporcionan
distintas utilidades para manejarlos. El mas reciente desarrollo en materia de lenguajes
de ontologías es el OWL del World Wide Web Consortium (W3C). Como Protege,
OWL hace posible describir conceptos pero también proporciona utilidades para
manejarlos. Tiene una rica gama de operadores – por ejemplo and, or y la negación. Se
basa en un modelo lógico diferente lo que hace posible a los conceptos ser definidos así
como ser descritos. Los conceptos complejos pueden ser además en definiciones o
conceptos mas simples. Además, el modelo lógico permite el uso de un razonador, el
cual puede comprobar (o no) todos los enunciados y definiciones en la ontología para
ver que son consistentes y puede reconocer cuáles conceptos encajan con qué
definiciones. El razonador puede además ayudar a mantener la jerarquía de una manera
correcta. Esto es particularmente útil cuando se manejan aquellos casos en que las clases
pueden tener mas de una clase padre.
El plugin de OWL es una de las posibles extensiones que se ofrece para el programa
Protege, visto en prácticas. Dicho plugin ha facilitado y creado nuevas vías para poder
construir una web semántica de contenidos, muchas veces necesitada de la
realimentación de los usuarios. Además, el que Protege sea de código abierto permite

3
que sea fácil integrar componentes a medida para crear aplicaciones. Este aspecto es
realmente importante por dos motivos: Primero, porque al ser de código abierto, mucha
gente podrá interesarse por el código y entenderlo mejor. Y segundo, porque permite
una particularización de la herramienta y la posibilidad de adecuarla con extensiones
útiles para cada caso.

3.2 Clases de OWL

El lenguaje OWL proporciona tres lenguajes sublenguajes expresivos de manera


incremental diseñados para el uso por parte de comunidades especificas de
implementadores y usuarios. Los distintos tipos existentes son:

OWL Lite, adecuado para aquellos usuarios que necesiten una clasificación
jerárquica y funcionalidades restringidas. Por ejemplo, mientras que el OWL
Lite soporta la restricción de cardinalidad, solo permite valores de cardinalidad
de 0 ó 1. Puede ser mas simple para proporcionar una herramienta de apoyo para
OWL Lite que pueda proporcionar una ruta de migración rápida para los
tesauros y otras taxonomías.

OWL DL, adecuado para aquellos usuarios que quieren la mayor expresividad
sin perder la funcionalidad computacional (todas las implicaciones se pueden
computar) y decidible (todas las computaciones acabaran en un tiempo finito)
sobre los sistemas de razonamiento. OWL DL incluye todas las construcciones
del lenguaje OWL con las restricciones, tal como separación de tipos (una clase
no puede ser una propiedad ni un individuo, así como una propiedad no puede
ser una clase o un individuo). OWL DL se llama así debido a que utiliza
descripciones lógicas (descriptions logics DL). Las descripciones lógicas son un
campo de búsqueda que ha estudiado un fragmento particular que es decidible de
lógica de primer orden. OWL DL fue diseñado para soportar la descripción
lógica existente y tener unas propiedades computacionales deseables para los
sistemas de razonamiento.

OWL Full, pensado para usuarios que quieren la mayor expresividad y la


libertad de RDF sin garantías computacionales. Por ejemplo, en OWL Full, una
clase puede ser tratada de manera simultanea como una colección de individuos
y como un individuo propiamente dicho. Otra diferencia es que OWL Full

4
permite a una ontología que aumente el significado del vocabulario predefinido.
De esta manera, es improbable que cualquier programa de razonamiento sea
capaz de soportar cada funcionalidad de OWL Full.

3.3 Especificación - Componentes

Muchos de los elementos de una ontología de OWL incluyen las clases, sus
propiedades, las instancias de las clases y las relaciones entre dichas instancias. En el
presente apartado, abordaremos cada uno de estos elementos, incluyendo algunos
ejemplos de su sintaxis.

3.3.1 Clases simples e individuos

Muchos de los usuarios de una ontología dependen de la habilidad de razonamiento


sobre los individuos. Para hacer esto de una manera útil se necesita tener un mecanismo
para describir las clases a los que los individuos pertenecen y determinar las
propiedades que heredan debido a su pertenencia a la clase. Se puede asignar
propiedades a los individuos, pero la mayor parte del poder de las ontologías proviene
del razonamiento basado en clases.

Algunas veces convendrá enfatizar la distinción entre una clase como un objeto y una
clase como un contenedor de elementos. Por ello se llamará al conjunto de individuos
que son miembros de una clase la extensión de la clase.

3.3.1.1 Clases simples

Class

Los conceptos mas básicos deben corresponder a las clases que son las raíces de la
taxonomia en árbol. Cada miembro del mundo OWL es un miembro de la clase
owl:Thing (análogo a como veíamos en Protege con el :thing). Por ello se asume que
cada clase creada por el usuario es implícitamente una subclase de owl:thing. El
dominio de las clases raíz es definido cuando se declara una clase con nombre. OWL
también define la clase vacía, owl:Nothing.

Un ejemplo de construcción de clases seria el siguiente:

<owl:Class rdf:ID=”Recetas”/>
<owl:Class rdf:ID=”Region”/>

5
<owl:Class rdf:ID=”Comestibles”/>

Mediante esta declaración del ejemplo se habría creado tres clases (Recetas, Región y
Comestibles) para el caso de un ejemplo de ontología culinaria.

Para poder crear subclases dentro de una clase creada se útiliza el constructor
taxonómico de clases “rdfs:subClassof”, como vemos en la ampliación del ejemplo
anterior de un elemento que es subclase de Comestibles:

<owl:Class rdf:ID=”Lacteos”>
<rdfs:subClassof rdf:resource”#Comestibles” />
….
</owl:class>

Como se puede observar en el ejemplo, OWL sigue el patrón de los lenguajes de


marcado, como XML, para cerrar los elementos, mediante la utilización del signo “/”,
además de incluir la sintaxis entre “<” y “>”. Asimismo, la propiedad “rdf:resource”
define la clase a la cual se parte para establecer la subclase. Así, según el ejemplo,
Lácteos es subclase de Comestibles.

3.3.1.2 Individuos

Además de las clases, se puede ser capaz de describir a sus miembros. Se piensa en
estos individuos en el universo de las cosas. Un individuo se presenta minimamente
cuando se declara siendo un miembro de la clase.

Mediante la propiedad “rdf:type”, que es una propiedad de RDF, se une un individuo


con una clase de la cual es miembro. Así continuando con el ejemplo culinario:

<owl:Thing rdf:ID=”Mediterranea” />


<owl:Thing rdf:about=”#Mediterranea”>
<rdf:type rdf:resource=”Region”/>
</owl:Thing>

Con esta expresión, hemos definido un individuo “Mediterránea” dentro de la clase


“Region”. A continuación se muestra una sintaxis que es equivalente a la anterior:

<Region rdf:ID=”Mediterranea” />

6
3.3.1.3 Diseño para su uso

Hay muchas cuestiones acerca de la distinción entre una clase y un individuo en OWL.
Una clase es simplemente un nombre y una colección de propiedades que describe un
conjunto de individuos. Los individuos son los miembros de dichos conjuntos.

Cuando se construyen ontologías, estas distinciones se hacen borrosas frecuentemente


de dos maneras:

- Niveles de representación: En determinados contextos, algo que es obviamente una


clase puede ser considerado una instancia o algo parecido. Por ejemplo, en una
ontología de vinos, por ejemplo, tenemos la noción de Viña, que puede denotar a
todas las variedades de viña. ViñaVinalopó es un ejemplo de instancia de esa clase,
como denota la variedad de viña llamada Vinalopó.
Sin embargo, ViñaVinalopó puede ser considerado una clase, el conjunto de todas
las viñas del Vinalopó.

- Subclase vs. Instancia: Es muy fácil confundir la relación de instancia con la


relación de subclase. Por ejemplo, siguiendo con el ejemplo de los vinos, puede
parecer arbitrario elegir hacer ViñaVinalopó un individuo que es una instancia de
Viña, en oposición a la subclase de Viña. Esta no es una decisión arbitraria. La clase
Viña denota el conjunto de todas las variedades de viña, y además, cualquier
subclase de Viña puede denotarse como un subconjunto de esas variedades. Por ello,
ViñaVinalopó debe ser considerada una instancia de Viña, y no una subclase. No
describe un subconjunto de variedades de Viña, es una variedad de viñedo.

3.3.2 Propiedades simples

Las propiedades permiten declarar hechos generales sobre los miembros de las clases y
hechos específicos sobre los individuos.

Una propiedad es una relación binaria. Se pueden distinguir entre dos tipos de
propiedades:

- propiedades de tipos de datos, que son relaciones entre instancias de las clases
y los literales de RDF y los tipos de datos del esquema de XML (ya que OWL útiliza la
mayoría de los tipos de datos del esquema XML, y se exige que todos los razonadores
soporten el xsd:integer y el xsd:string como tipos de datos).

- propiedades de objeto, que son las relaciones entre las instancias de dos clases.

Cuando definimos una propiedad hay varias formas de restringir la relación. El dominio
y el rango pueden ser especificados. La propiedad puede ser definida para ser la

7
especialización (subpropiedad) de una propiedad existente. Si estudiamos el ejemplo de
las comidas:

<owl:ObjectProperty rdf:ID=”plato”>
<rdfs:domain rdf:resource=”#comida”>
<rdfs:range rdf:resource=”#primer plato”>
</owl:ObjectProperty>

Podemos observar que para declarar una propiedad se útiliza la clausula


“ObjectProperty”, y que mediante la clausula domain se restringe el plato a aquellos que
sean del dominio comida, y que con la clausula range se restringe a aquellos platos que
se sirvan como primer plato. De esta manera, la propiedad “plato” une una “comida”
con un “primer plato”.

Las propiedades, como las clases, pueden crearse siguiendo una jerarquía. Veamos el
siguiente ejemplo:

<owl:Class rdf:ID=”DescriptorVino” />

<owl:Class rdf:ID=”ColorVino”>
<rdfs:subClassOf rdf:resource=”#DescriptorVino”/>

<owl:ObjectProperty rdf:ID=”tienedescriptorvino”>
<rdfs:domain rdf:resource=”#vino”>
<rdfs:range rdf:resource=”#descriptorvino”>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”tienecolor”>
<rdfs:subPropertyOf rdf:resource=”tienedescriptorvino”/>
<rdfs:range rdf:resource=”#ColorVino”>
</owl:ObjectProperty>

Las propiedades de la clase DescriptorVino relaciona los vinos con su color y sus
componentes, como el gusto, el sabor, el cuerpo, etc. Tiene color es una subpropiedad
de “tienedescriptorvino”, cuyo rango está restringido a ColorVino. La relación
rdfs:subPropertyOf en este caso significa que cualquier cosa con la propiedad
“tienecolor” con un valor X también tiene una propiedad “tienevinodescriptor” con
valor X.

3.3.2.1 Características de las propiedades

TransitiveProperty

Si por ejemplo, tenemos una propiedad “estaen”, la cual es transitiva mediante la


clausula “TransitiveProperty” con dominio “Thing” (elemento raíz) y rango

8
“Region” y tenemos dos elementos de tipo “Region”: uno llamado “Valencia” con
la propiedad “estaen” con valor “ComunidadValenciana” y el otro llamado
“ComunidadValenciana” con la propiedad “estaen” con valor “España”, podemos
decir que Valencia estará tanto en la Comunidad Valenciana como en España,
puesto que la propiedad “estaen” es transitiva.

SymetricProperty

Si tenemos una propiedad etiquetada con SymetricProperty, por ejemplo “adyacente” y


tenemos una región llamada “CMurcia” que utilice la propiedad “adyacente” con valor
“CValenciana” tendremos que CValenciana es adyacente a CMurcia y viceversa, o sea,
que ambas son adyacentes.

FunctionalProperty

Esta propiedad permite determinar que cada individuo de un domino le corresponde un


solo valor (cardinalidad simple).

inverseOf

Al igual que en los objetos con Protege, la propiedad inverseOf permite crear una
relación entre elementos. Por ejemplo, un cocinero tendría una propiedad “cocinaplato”,
mientras que un plato tendría la propiedad “platococinadopor” mediante el cual se
podría establecer la relación entre el plato y el cocinero que lo hizo.

InverseFunctionalProperty

Es similar al caso de inverseOf, con la diferencia de que implica que en un rango solo
puede existir un identificador único para cada elemento del dominio.

3.3.2.2 Restricciones de las propiedades

9
Existen tres tipos de restricciones de propiedades:

- allValuesFrom, some ValuesFrom

Su función es la equivalente al “para todo” (∀) y el “existe” (∃) de la lógica de


predicados. Con la restricción owl:allValuesFrom se requiere que para toda instancia de
la clase que tiene instancias de la propiedad especificada, los valores de la propiedad
sean todos miembros de la clase indicada con la clausula owl:allValuesFrom. Por el
contrario, con la clausula owl:someValuesFrom, tan solo se requiere que al menos una
sea miembro de la clase indicada por dicha clausula.

- Cardinalidad

Esta restricción permite establecer la cantidad exacta del numero de elementos que hay
en una relación.

- hasValue

hasValue permite especificar las clases basadas en la existencia de una valores de una
propiedad particular. De tal manera, un individuo será un miembro de una clase
mientras al menos uno de los valores de sus propiedades sea igual al del campo
hasValue.

3.3.3 Clases complejas

Las extensiones de clases de OWL son conjuntos de individuos que son miembros de la
clase. OWL proporciona los medios para manipular las extensiones de la clase
utilizando una serie de operadores:

Intersección (clausula owl:intersectionOf)

Una clase intersección se forma combinando dos o mas clases. Por ejemplo,
consideremos la intersección de dos clases llamada “Mamíferos” y “Carnívoros”.
Mediante dicha intersección tendríamos una clase en la cual se contendrían aquellos
mamíferos que son carnívoros. Además, la semántica de una clase intersección significa
que la clase anónima que se ha creado es tanto una subclase de “Mamiferos” como de
“Carnívoros”.

Unión (clausula owl:unionOf)

Una clase unión se crea combinando dos o mas clases. Por ejemplo, consideremos el
ejemplo de las Clases “Carnívoro” y “Herbívoro” a las cuales hemos realizado una

10
unión. La clase resultante contendrá a los individuos que pertenecen a cualquiera (o a
ambas) clases.

Complemento (clausula owl:complementOf)

Una clase complemento es creada seleccionado aquellos individuos del dominio que no
pertenecen a una determinada clase. Si por ejemplo, se realiza un complemento a la
clase “Mamífero”, se obtendrá una clase en la cual no se contendrán individuos que
pertenecieran a dicha clase.

3.3.4 Utilidades propias de OWL

A continuación vamos a comentar dos utilidades que sirven de ayuda a la hora de crear
ontologías consistentes: Los tests de ontologías y el clasificador.

Los tests de ontologías

Protege-OWL proporciona un marco de pruebas que contiene varios tests que pueden
ejecutarse sobre una ontología que se está editando. Estos tests van desde los tests para
comprobar que las características de una propiedad se corresponde correctamente con la
característica inversa de su propiedad, hasta los tests OWL-DL, los cuales son
diseñados para encontrar construcciones como meta clases que puedan pertenecer a
OWL-Full.

El clasificador

Si una clase tiene condiciones suficientes y necesarias, las herramientas inteligentes


pueden encontrar características adicionales de esas clases. Esas herramientas son
llamada clasificadores. El clasificador puede establecer una serie de conocimiento que
el sistema antes no poseía (como establecer relaciones de parentesco entre clases y
agruparlas en una superclase más general), así como especificar que algunas clases se
muestran inconsistentes (una clase tenga asignado un valor a una propiedad que no este
permitido para esa clase)

11
3.4 Herramientas – Grupos relacionados con OWL

3.4.1 Tecnologías relacionadas con OWL

Antes de comentar lo relacionado con OWL haremos una pequeña introducción a otras
tecnologías para el desarrollo de ontologías de los cuales OWL ha tenido influencias:

12
URI

Los URI –Uniform Resource Identifier-, proporcionan el mecanismo para identificar de


forma inequívoca cualquier recurso en la red: artículos, imágenes, sonidos, etc.

RDF y RDF Schema

RDF es un lenguaje de etiquetado, creado mediante sintaxis XML, que define un


modelo de datos para describir recursos (cualquier documento identificable por un
URI), mediante enunciados o asertos en forma de tripletas sujeto-predicado-objeto,
donde sujeto y predicado son URIs y el objeto puede ser un URI o un valor literal. Ya
que RDF es un vocabulario XML, puede describir recursos de forma externa a éstos o
de forma interna, siempre y cuando estos recursos tengan sintaxis XML.

Por otro lado, RDF Schema es un vocabulario RDF que nos permite describir recursos
mediante una orientación a objetos similar a la de muchos lenguajes de programación
como Java. Para ello, proporciona un mecanismo para definir clases, objetos y
propiedades; relaciones entre clases y propiedades; y restricciones de dominio y rango
sobre las propiedades.

Con RDF Schema podemos describir jerarquías de clases, tales como ontologías
simples, sobre las que poder realizar consultas y razonamiento automático. Aun así,
RDF Schema no es lo suficientemente expresivo para representar ontologías de la
complejidad de una web semántica, por ejemplo.

DAML+OIL

DAML+OIL es uno de los lenguajes de representación de ontologías más reciente, fruto


de la cooperación entre los grupos de trabajo de OIL y DARPA (US Defense Advanced
Research Projects Agency), quienes anteriormente habían desarrollado el lenguaje
DAML con la finalidad de extender el nivel de expresividad de RDFS. Por tanto,
DAML+OIL es un lenguaje que unifica estos dos lenguajes, aunando esfuerzos en el
camino de la construcción de un lenguaje estándar para la definición de ontologías.

Aunque DAML+OIL hereda muchas de las características de OIL, difiere en algunas.


De hecho, se aleja del modelo basado en frames de OIL, potenciando la Lógica
Descriptiva. A nivel practico, DAML+OIL, demuestra ser más útil como soporte para
ontologías que, por ejemplo, RDF Schema. Sin embargo, aún tiene ciertas carencias
como formato de intercambio y modelado de ontologías. Si bien la complejidad técnica
de DAML+OIL no es un problema, lo que se puede demostrar para un gran número de
herramientas y aplicaciones desarrolladas con soporte para este lenguaje en sus escasos
años de vida, su complejidad conceptual (dificultad de uso y aprendizaje por parte del
creador de ontologías) si lo es.

OWL es un lenguaje derivado de DAML+OIL y cimentado sobre RDF Schema.


Construyéndose sobre RDF y RDF Schema, añade más vocabulario para la descripción
de clases y propiedades: entre otras, relaciones entre clases, cardinalidad, igualdad,
mayor riqueza de tipos en las propiedades, características de propiedades (p.e. simetría).

13
Además OWL útiliza URIs para fijar nombres y la infraestructura para descripciones en
la Web proporcionada por RDF para agregar las siguientes capacidades a las ontologías:

- Habilidad de ser distribuida por muchos sistemas

- Escalabilidad a las necesidades de la Web

- Compatibilidad con estándares Web para la accesibilidad y la internacionalización

- Apertura y extensibilidad

3.4.2 Utilidad de OWL

A continuación se exponen ciertos criterios relevantes y posibles utilidades para las


cuales podría ser relevante el uso de OWL:

- Aplicaciones de creación de contenidos: los autores pueden conectar metadatos


(asunto, creador, localización, idioma, derechos de autoría, etc.) con documentos,
haciendo que los nuevos documentos enriquecidos puedan ser buscados.

- Herramientas para la administración de sitios Web. Los sitios Web grandes pueden
administrarse de forma dinámica de acuerdo a categorías de contenido, personalizadas
para los administradores del sitio.

- Software que saque provecho de las funcionalidades de OWL. Las organizaciones


podrían integrar aplicaciones empresariales, publicación y suscripciones utilizando
modelos flexibles.

- Reutilización de datos entre aplicaciones. El formato OWL es estándar, lo que permite


que se pueda reutilizar datos de diversas fuentes.

14
3.4.3 Ejemplo Comics OWL

-imagen Pantalla General:

-imagen Pestañas:

-imagen Clases:

15
-imagen Propiedades:

-imagen Rango:

-imagen Propiedades tipo Clase:

16
-imagen Disjoint:

-imagen Instancias:

-imagen subclase Cliente:

-imagen Clase Distribuidor:

-imagen Restricciones:

17
-Ver código OWL generado:

-Por último decir, que para cargar un proyecto ya existente:

18
-Debemos además, seleccionar el fichero OWL que deseamos importar:

4. Conclusiones

OWL ha demostrado ser una alternativa perfecta para el desarrollo de ontologías y su


integración a través de la Web. Además el hecho de que el código sea abierto permite a
los usuarios de dicha herramienta que se creen sus ontologías “a medida” lo cual
redunda en que existan ya modelos creados y disponibles por otros creadores, al igual
que pueda pasar con los CGis para la creación de paginas web o modelos de hojas de
estilo.

De todas maneras, OWL tiene una potencialidad en auge, ya que el desarrollo de Webs
semánticas está creciendo y la situación actual del sector está fijada por la
interconectividad de los metadatos y la gestión remota a través de la red. Es por ello que
las funcionalidades que ofrece OWL lo hacen un recurso optimo para utilizarlo como
aplicaciones de creación de contenidos o herramientas para administración de sitios
Web.

Si bien es cierto que la integración con Protégé hace que su uso sea más amigable, hay
ciertas funcionalidades que resultan ser muy complejas, sobre todo en cuanto se intenta
crear clases complejas utilizando las relaciones de unión, intersección y
complementación.

Otro aspecto que resulta bastante útil si comentamos la complejidad que se introduce
con las clases complejas comentadas en el párrafo anterior, es la posibilidad de
disponer con la herramienta de OWL de un marco de pruebas para poder comprobar si
las ontologías están bien construidas. Además, recurriendo a un clasificador se puede

19
enriquecer la propia ontología, creando relaciones o reestructurando la ontología para
que aporte un mayor conocimiento.

-A nuestro entender está creciendo bastante el uso de las Ontologías esto se refleja al
observar que el numero de resultados obtenidos con el buscador de Ontologías Swoogle
cada vez es mayor.

-Comentar que esto crece! , del 18 al 21 de Julio ISOCO organiza una conferencia sobre
Protégé, nada más y nada menos que en Madrid.

-Observamos que el realizar una Ontología no es un proceso fácil. Lleva tiempo y detrás
hay un estudio laborioso.

-Comentar que este plugin junto con la versión de Protégé son Betas eso quiere decir
que todavía esta todo por probar. Esto lo hemos experimentado al comprobar que la
importación de protégé a OWL nos ha fallado.

-Hemos considerado muy interesantes los numerosos manuales que hay al respecto,
además de existir la posibilidad de descargar las ontologías existentes para ver los casos
prácticos.

20
5. Bibliografía
-W3C working group .OWL Web Ontology Language Guide.
<http://www.w3.org/TR/owl-guide/> versión on-line [Fecha Consulta :22-05-05]

-CO-ODE / HyOntUse. Introduction to Ontologies .


http://www.co-ode.org/resources/tutorials/slides/RDFAndOWLOverview.pdf> versión
on-line [Fecha Consulta :22-05-05]

-CO-ODE / HyOntUse. OWL and RDF overview .


<http://www.co-ode.org/resources/tutorials/slides/Introduction.ppt> versión on-line
[Fecha Consulta :22-05-05]

- Protège At Standford University. User's Guide .


< http://protege.stanford.edu/publications/UserGuide.pdf> versión on-line
[Fecha Consulta :22-05-05]

- Protège At Standford University. Getting Started .


< http://protege.stanford.edu/publications/GettingStarted.pdf> versión on-line
[Fecha Consulta :22-05-05]

- Matthew Horridge. A Practical Guide To Building OWL Ontologies Using The


Protégé-OWL Plugin and CO-ODE Tools Edition 1.0.
< http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf>
[Fecha Consulta :22-05-05]

- Holger Knublauch.Editing OWL Ontologies with Protégé.


<http://protege.stanford.edu/plugins/owl/publications/2004-07-06-OWL-Tutorial.ppt>
[Fecha Consulta :22-05-05]

-F.Noy, Natasha.W.Tu, Samson. Developing Medical Informatics Ontologies using


Protégé <http://protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt>
[Fecha Consulta :22-05-05]

-Protégé OWL Plugin. <http://protege.stanford.edu/plugins/owl/> [Fecha Consulta :22-


05-05]

-Holger Knublauch, Ray W. Fergerson, Natalya F. Noy, Mark A. Musen


The Protégé OWL Plugin: An Open Development Environment for Semantic Web
Applications. Third International Semantic Web Conference - ISWC 2004.
Hiroshima, Japan (2004) - An architectural overview for developers and decision-
makers.<http://protege.stanford.edu/plugins/owl/publications/ISWC2004-protege-
owl.pdf> [Fecha Consulta :22-05-05]

-Holger Knublauch, Olivier Dameron, Mark A. Musen


Weaving the Biomedical Semantic Web with the Protégé OWL Plugin
First International Workshop on Formal Biomedical Knowledge Representation,

21
Whistler, BC, Canada (2004) - An introduction for users and domain modelers.
<http://protege.stanford.edu/plugins/owl/publications/KRMed2004-protege-owl.pdf>
[Fecha Consulta :22-05-05]

-Holger Knublauch, Mark A. Musen, Alan L. Rector


Editing Description Logic Ontologies with the Protégé OWL Plugin
International Workshop on Description Logics - DL2004,
Whistler, BC, Canada (2004) - A technical discussion for logicians.
<http://protege.stanford.edu/plugins/owl/publications/DL2004-protege-owl.pdf>
[Fecha Consulta :22-05-05]

-Swoogle. Search and Metadata for the Semantic Web.


<http://swoogle.umbc.edu/>.[Fecha Consulta :22-05-05]

- Oficina Española del W3C. Documento traducido al Español por Carlos Iglesias
Moro. Preguntas frecuentes sobre el Lenguaje de Ontologías Web (OWL) del W3C.
<http://www.w3c.es/Traducciones/es/SW/2005/owlfaq>.[Fecha Consulta :22-05-05]

-W3C. El Consorcio World Wide Web publica las Recomendaciones RDF y OWL.
<http://www.w3c.es/Prensa/2004/nota040210.html>.[Fecha Consulta :22-05-05]

- Sean Bechhofer. Department of Computer Science University of Manchester. Parsing


OWL DL: Trees or Triples?.<www.www2004.org/proceedings/docs/1p266.pdf>.[Fecha
Consulta :22-05-05]

- Bijan Parsia. University of Maryland .Debugging OWL Ontologies.


<www.mindswap.org/papers/debuggingOWL.pdf>.[Fecha Consulta :22-05-05]

22

Potrebbero piacerti anche