UML es un lenguaje (gráfico) para modelar; OWL es un lenguaje utilizado para la representación del conocimiento; y XML es el lenguaje de intercambio de metadatos

por Gemini – 04/09/2025 – 13:31 hs

OWL es Web Ontology Language, un lenguaje para definir ontologías en la web, usando XML para su representación. UML es Unified Modeling Language, un lenguaje de modelado para software y sistemas. XML (eXtensible Markup Language) es un lenguaje de marcado que define una forma de organizar datos mediante etiquetas y atributos, y se utiliza como una capa sintáctica para representar información, incluido OWL

Tanto OWL como UML pueden utilizar XML como representación final del conocimiento.

XML (eXtensible Markup Language) 

Archivo XML simple
  • Propósito: Un lenguaje de marcado que define un conjunto de reglas para codificar documentos de una manera que sea tanto legible por humanos como por máquinas.
  • Uso: Actúa como un estándar sintáctico y se utiliza para organizar y estructurar datos.
  • Relación con OWL: OWL utiliza XML como una de sus capas de representación para codificar la información de la ontología.

Explicación de la estructura

<?xml version="1.0"?>

Esta es la declaración XML que indica la versión de XML utilizada. 

<nota>

Esta es la etiqueta raíz del documento XML, que contiene todos los demás elementos. 

<para><de><encabezado><cuerpo>

Son elementos secundarios que contienen la información específica de la nota. El texto entre las etiquetas de apertura y cierre es el valor de ese elemento. 

Cómo funciona

  • Etiquetas personalizadas: A diferencia de HTML, donde las etiquetas son predefinidas (como <p> para párrafo), XML permite definir etiquetas personalizadas según la necesidad para describir los datos de forma más precisa. 
  • Estructura jerárquica: Los elementos XML se anidan, creando una estructura de árbol que representa la relación entre los datos. 
  • Descripción de datos: El propósito principal de XML es almacenar y describir datos de manera que puedan ser leídos tanto por humanos como por máquinas. 
  • Versatilidad: La flexibilidad de las etiquetas y la estructura de XML lo hacen útil para una variedad de aplicaciones, como el desarrollo web, el intercambio de datos entre sistemas y la configuración de aplicaciones. 

RDF (Resource Description Framework)

RDF son las iniciales de Resource Description Framework y es un modelo de datos. Define una forma en la que se representa toda la información. RDF se basa en el concepto, ya usado con anterioridad, de Objeto-Atributo-Valor (también llamado sujeto-predicado-objeto). Esto es muy sencillo de entender y a la vez, muy flexible. Básicamente, toda la información se almacena en tripletas. Una tripleta son tres valores: recurso, propiedad y valor. El recurso es el individuo sobre el que decimos algo, la propiedad es la característica sobre la que decimos algo y el valor es el contenido. Por ejemplo, podemos modelar una persona fácilmente usando tripletas.

(“Alonzo Church”,”fecha-nacimiento”,”1903-06-14″)
(“Alonzo Church”,”lugar-nacimiento”,”Washington D.C.”)
(“Alonzo Church”,”profesion”,”matematico”)

Los valores pueden ser a su vez recursos o pueden ser valores atómicos. De este modo se logra un grafo de relaciones. Las tripletas RDF se pueden almacenar en muchos formatos diferentes. Al principio, se hizo mucho énfasis en la sintaxis XML. Hoy día también son muy comunes las sintaxis Turtle, N3 o JSON-LD. RDF presenta un modelo de datos semitipado. Sobre esto hablaremos más adelante. En esto que hemos visto surge un problema, ¿cómo identificamos cada objeto dentro de un sistema interoperable? Si estuviésemos en Microsoft alguien habría dicho GUID, pero en la W3C la respuesta fue IRI.

OWL (Web Ontology Language) 

Fuente: OWL in the Semantic Web architecture
  • Propósito: Definir ontologías, que son estructuras que representan el significado de términos y sus relaciones en un dominio particular.
  • Uso: Se usa para compartir y publicar datos en la web, permitiendo que las máquinas comprendan el significado de los datos.
  • Base: Se construye sobre RDF (Resource Description Framework) y puede ser codificado usando XML.

UML (Unified Modeling Language) 

Un ejemplo de diagrama de clases UML (Fuente: https://www.tandfonline.com/doi/full/10.1080/24751839.2019.1686681#d1e196).
  • Propósito: Un lenguaje de modelado estándar para visualizar, especificar, construir y documentar los artefactos de un sistema de software.
  • Uso: Se utiliza para describir la estructura y el comportamiento de los sistemas, incluidos los modelos de datos, aunque se considera un modelo de datos en la comunidad CIM en lugar de un programa.
  • Relación con OWL: Los diagramas de clases de UML se pueden traducir a OWL, ya que ambos comparten la idea fundamental de clases y propiedades.
Un ejemplo de transformación de la enumeración (Fuente: https://www.tandfonline.com/doi/full/10.1080/24751839.2019.1686681#d1e196)

Fuente: Gemini – 04/09/2025 – 13:31 hs




Ejemplo de archivo XML con UML

Un archivo XML puede contener un modelo UML utilizando el estándar XMI (XML Metadata Interchange), que define la estructura de etiquetas XML para representar los elementos de UML. No existe un “archivo XML que contiene UML”, sino un archivo XMI que representa un modelo UML. Un ejemplo simple de esto sería un archivo XMI que describe una clase y sus atributos, usando etiquetas XML para los nombres de clase, atributos y sus tipos. 

Ejemplo de estructura XMI para un modelo UML simple

Un archivo XMI que representa una clase simple con algunos atributos podría tener la siguiente estructura:

Código

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="1.2" xmlns:xmi="http://www.omg.org/XMI" xmlns:UML="http://www.uml.org/uml/2003/XML-XMI">
<UML:Model xmi:id="_1">
<packagedElement xmi:type="uml:Class" xmi:id="_2" name="Cliente">
<ownedAttribute xmi:type="uml:Property" xmi:id="_3" name="id" visibility="public">
<type xmi:type="uml:PrimitiveType" href="http://www.uml.org/uml/2003/uml#Integer"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_4" name="nombre" visibility="public">
<type xmi:type="uml:PrimitiveType" href="http://www.uml.org/uml/2003/uml#String"/>
</ownedAttribute>
</packagedElement>
</UML:Model>
</xmi:XMI>

Explicación del ejemplo

  • <?xml version="1.0" encoding="UTF-8"?>: La declaración XML estándar.
  • <xmi:XMI ...>: El elemento raíz para un archivo XMI, que define los namespaces para XMI y UML.
  • <UML:Model xmi:id="_1">: Representa el modelo UML en su conjunto, con un identificador único _1.
  • <packagedElement xmi:type="uml:Class" xmi:id="_2" name="Cliente">: Describe una clase llamada “Cliente”.
  • <ownedAttribute xmi:type="uml:Property" xmi:id="_3" name="id" visibility="public">: Define un atributo llamado id para la clase Cliente, que es público.
  • <type xmi:type="uml:PrimitiveType" href="http://www.uml.org/uml/2003/uml#Integer"/>: Indica que el tipo del atributo id es un entero primitivo, usando una referencia a la definición del tipo en el metamodelo UML. 

Este es un ejemplo muy simplificado. Un archivo XMI real para un modelo UML más complejo contendría etiquetas para otros elementos como operaciones, relaciones (herencia, asociación), paquetes, y más, basándose en el metamodelo UML. 

Fuente: Gemini – 04/09/2025 – 13:45


Ejemplo de archivo XML con OWL

La estructura de las ontologías

B.1.1 Espacios de nombres

Dado que la sintaxis de presentación XML en sí no depende de la sintaxis de RDF, la declaración del espacio de nombres de la sintaxis XML no tiene que incluir espacios de nombres relacionados con RDF, como ‘xmlns:rdf’ y ‘xmlns:rdfs’, a diferencia de la declaración de la sintaxis RDF/XML.

Ejemplo B1-1 : Sintaxis de presentación XML para 

owlx:Ontology

<!DOCTYPE Ontología [
<!ENTIDAD xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTIDAD vin "http://www.ejemplo.org/vino#" >
<!ENTIDAD comida "http://www.ejemplo.org/comida#" > ]>
<owlx:Ontología owlx:nombre="http://www.ejemplo.org/vino"
xmlns:owlx="http://www.w3.org/2003/05/owl-xml">

<!-- Declaraciones OWL -->

</owlx:Ontología>

Sintaxis RDF/XML (véase también 

2.1 en [Guía OWL])

<!DOCTYPE búho [
    <!ENTIDAD xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTIDAD vin "http://www.ejemplo.org/vino#" >
    <!ENTIDAD comida "http://www.ejemplo.org/comida#" > ]>
<rdf:RDF
    xmlns="http://www.ejemplo.org/vino#"
    xmlns:vin ="http://www.ejemplo.org/vino#"       
    xmlns:comida="http://www.ejemplo.org/comida#"    
    xmlns:búho ="http://www.w3.org/2002/07/búho#"
    xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
  
  <!-- Declaraciones OWL -->

</rdf:RDF>

B.1.2 Encabezados de ontología

En la sintaxis de presentación XML, no hay ningún elemento de encabezado, a diferencia de la sintaxis RDF/XML en la que owl:Ontology se proporciona como una construcción para el componente de encabezado.

Ejemplo B1-2 : Sintaxis de presentación XML para elementos de encabezado

<owlx:Anotación>
  <owlx:Documentation>Un ejemplo de ontología OWL</owlx:Documentation>
</owlx:Anotación>
<owlx:PriorVersion owlx:ontology="http://www.example.org/wine-112102.owl" />
<owlx:Imports owlx:ontología="http://www.ejemplo.org/comida.owl"/>
<owlx:Anotación>
  <owlx:Label>Ontología del vino</owlx:Label>
</owlx:Anotación>

Sintaxis RDF/XML (véase también 2.2 en [Guía OWL ])
<owl:Ontology rdf:about="http://www.example.org/wine">
  <rdfs:comment>Un ejemplo de ontología OWL</rdfs:comment>
  <owl:priorVersion rdf:resource="http://www.example.org/wine-112102.owl"/>
  <owl:imports rdf:resource="http://www.example.org/food.owl"/>
  Ontología del vino
</owl:Ontología>

B.2 Definiciones básicas

B.2.1 Clases simples e individuos

(a) Definición de clases con nombre jerárquicas simples

Como definiciones simples (e incompletas) (es decir, axiomas), los ejemplos a continuación solo indican la existencia de tres clases: Winery , Region y ConsumableThing , cada una de las cuales se proporciona con un nombre.

Ejemplo B2-1 : Sintaxis de presentación XML para owlx:Class [axioma]

<owlx:Class owlx:name="Bodega" owlx:complete="false" />
<owlx:Clase owlx:nombre="Región" owlx:completo="falso" />
<owlx:Clase owlx:nombre="ObjetoConsumible" owlx:completo="falso" />

Sintaxis RDF/XML: owl:Class (véase también 3.1.1 en [ Guía de OWL ])

<owl:Class rdf:ID="Bodega"/>
<owl:Class rdf:ID="Región"/>
<owl:Class rdf:ID="Objeto consumible"/>

El siguiente ejemplo define una definición simple (e incompleta) para la clase PotableLiquid que es una subclase de ConsumableThing .

Ejemplo B2-2 : Sintaxis de presentación XML para la clase [ID] contenida en un grupo de modelos de descripción .

<owlx:Class owlx:name="Líquido Potable" owlx:complete="false">
<owlx:Class owlx:name="#ObjetoConsumible" />
</owlx:Clase>

Sintaxis RDF/XML: rdfs:subClassOf (véase también 3.1.1 en [ Guía OWL ])

<owl:Class rdf:ID="Líquido Potable">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
</owl:Clase>

El elemento owlx:Label en la sintaxis de presentación XML ( entrada rdfs:label en la sintaxis RDF/XML) proporciona un nombre opcional legible para esta clase. Una etiqueta es como un comentario y no contribuye en absoluto a la interpretación lógica de una ontología.

Ejemplo B2-3 : Sintaxis de presentación XML para owlx:Annotation y owlx:Label

<owlx:Class owlx:name="Vino" owlx:complete="false">
<owlx:Anotación>
<owlx:Label xml:lang="es">vino</owlx:Label>
<owlx:Label xml:lang="fr">vin</owlx:Label>
</owlx:Anotación>
<owlx:Class owlx:name="&comida;Líquido Potable" />
</owlx:Clase>

Sintaxis RDF/XML (véase también 3.1.1 en [ Guía OWL ])

<owl:Class rdf:ID="Vino">
<rdfs:subClassOf rdf:resource="&comida;Líquido Potable"/>
<rdfs:label xml:lang="es">vino</rdfs:label>
<rdfs:label xml:lang="fr">vin</rdfs:label>
</owl:Clase>

(b) Definición de individuos

Un individuo se presenta mínimamente al declarar ser miembro de una clase.

Ejemplo B2-4 : Sintaxis de presentación XML para owlx:Individual [axioma]

<owlx:Individual owlx:name="RegiónCostaCentral">
<owlx:type owlx:name="Región" />
</owlx:Individual>

Sintaxis RDF/XML (véase también 3.1.2 en [ Guía OWL ])

<Región rdf:ID="RegiónCostaCentral" /> 

El siguiente ejemplo es idéntico en significado a la definición anterior.

Ejemplo B2-5 : Sintaxis de presentación XML para owlx:Individual [axioma]

<owlx:Individual owlx:name="RegiónCosteraCentral" />

<owlx:Individual owlx:name="#RegiónCostaCentral">
<owlx:type owlx:name="Región" />
</owlx:Individual>

Sintaxis RDF/XML: owl:Thing (véase también 3.1.2 en [ Guía OWL ])

<owl:Thing rdf:ID="Región de la Costa Central" />

<owl:Thing rdf:about="#RegiónCosteraCentral">
<rdf:type rdf:resource="#Región"/>
</búho:Cosa>

B.2.2 Propiedades simples

(a) Definición de propiedades

Las propiedades permiten afirmar datos generales sobre los miembros de las clases y datos específicos sobre los individuos. OWL distingue dos tipos de propiedades: propiedades de objeto y propiedades de tipo de dato.

Ejemplo B2-6 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:ObjectProperty owlx:name="hechoDeUva">
<owlx:dominio owlx:clase="Vino" />
<owlx:range owlx:class="VinoUva" />
</owlx:PropiedadObjeto>

Sintaxis RDF/XML: owl:ObjectProperty (véase también 3.2.1 en [ Guía de OWL ])

<owl:ObjectProperty rdf:ID="hechoDeUva">
<rdfs:dominio rdf:recurso="#Vino"/>
<rdfs:range rdf:resource="#WineGrape"/>
</owl:PropiedadObjeto>

Dadas las definiciones de la propiedad anterior así como del individuo siguiente, es posible inferir que LindemansBin65Chardonnay es un vino, porque el dominio de madeFromGrape es Wine .

Ejemplo B2-7 : Sintaxis de presentación XML para owlx:Individual [axioma]

<owlx:Individual owlx:name="LindemansBin65Chardonnay">
<owlx:ObjectPropertyValue owlx:property="hechoDeUva">
<owlx:Individual owlx:name="#ChardonnayGrape" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

Sintaxis RDF/XML: 

owl:Thing (véase también 3.2.1 en [ Guía OWL ])

<owl:Cosa rdf:ID="LindemansBin65Chardonnay">
<madeFromGrape rdf:resource="#ChardonnayGrape" />
</búho:Cosa>

Las propiedades, al igual que las clases, se pueden organizar jerárquicamente. Las propiedades de WineDescriptor relacionan los vinos con su color y los componentes de su sabor. hasColor es una subpropiedad de hasWineDescriptor , con un rango aún más restringido a WineColor .

Ejemplo B2-8 : Sintaxis de presentación XML para owlx:SubPropertyOf

<owlx:Clase owlx:nombre="Descriptor de vino" owlx:completo="falso" />

<owlx:Class owlx:name="ColorVino" owlx:complete="false">
<owlx:Clase owlx:nombre="#WineDescriptor" />
</owlx:Clase>

<owlx:ObjectProperty owlx:name="tieneDescriptorDeVino">
<owlx:dominio owlx:clase="Vino" />
<owlx:range owlx:class="Descriptor de vino" />
</owlx:PropiedadObjeto>

<owlx:ObjectProperty owlx:name="tieneColor">
<owlx:range owlx:class="ColorVino" />
</owlx:PropiedadObjeto>

<owlx:SubPropertyOf owlx:sub="tieneColor">
<owlx:ObjectProperty owlx:name="tieneDescriptorDeVino" />
</owlx:SubPropiedadDe>

Sintaxis RDF/XML: 

rdfs:subPropertyOf (véase también 3.2.1 en [ Guía OWL ])

<owl:Class rdf:ID="Descriptor de vino" />

<owl:Class rdf:ID="ColorVino">
<rdfs:subClassOf rdf:resource="#WineDescriptor" />
</owl:Clase>

<owl:ObjectProperty rdf:ID="tieneDescriptorDeVino">
<rdfs:dominio rdf:recurso="#Vino" />
<rdfs:range rdf:resource="#WineDescriptor" />
</owl:PropiedadObjeto>

<owl:ObjectProperty rdf:ID="tiene color">
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineColor" />
</owl:PropiedadObjeto>

En el siguiente ejemplo, la propiedad ubicadaIn relaciona las cosas con las regiones donde se ubican las cosas.

Ejemplo B2-9 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:ObjectProperty owlx:name="ubicadoEn">
<owlx:dominio owlx:clase="http://www.w3.org/2002/07/owl#Thing" />
<owlx:range owlx:class="#Región" />
</owlx:PropiedadObjeto>

Sintaxis RDF/XML 

owl:ObjectProperty (véase también 3.2.1 en [ Guía de OWL ])

<owl:ObjectProperty rdf:ID="ubicadoEn">
<rdfs:dominio rdf:recurso="http://www.w3.org/2002/07/búho#Cosa" />
<rdfs:range rdf:resource="#Región" />
</owl:PropiedadObjeto>

La definición de la clase Wine se amplía para incluir la noción de regiones y que un vino se elabora a partir de al menos una WineGrape . Al igual que con las definiciones de propiedades, las definiciones de clase tienen varias subpartes que se unen implícitamente.

Ejemplo B2-10 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Class owlx:name="Vino" owlx:complete="false">
<owlx:Class owlx:name="&comida;Líquido Potable" />
<owlx:ObjectRestriction owlx:property="#madeFromGrape">
<owlx:minCardinality owlx:value="1" />
</owlx:Restricción de objeto>
<owlx:ObjectRestriction owlx:property="#locatedIn">
<owlx:minCardinality owlx:value="1" />
<owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:Restriction (véase también 3.2.1 en [ Guía OWL ])

<owl:Class rdf:ID="Vino">
<rdfs:subClassOf rdf:resource="&comida;Líquido Potable"/>
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#madeFromGrape"/>
<owl:minCardinalidad
rdf:datatype="&xsd;NonNegativeInteger">1</owl:minCardinality>
</owl:Restricción>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#locatedIn"/>
<owl:minCardinalidad
rdf:datatype="&xsd;NonNegativeInteger">1</owl:minCardinality>
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

Aunque los vinos producidos en años específicos se consideran añadas, resulta problemático, por ejemplo, considerar el año 2000 como una añada. La añada no es una nueva variedad de vino, sino un subconjunto especial del vino producido en el año 2000. Sin embargo, una añada puede definirse como una clase independiente, cuyas instancias guardan relación con el vino del que son añadas.

Ejemplo B2-11 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Clase owlx:nombre="Vintage" owlx:completo="falso">
<owlx:ObjectRestriction owlx:property="#vintageOf">
<owlx:minCardinality owlx:value="1" />
</owlx:Restricción de objeto>
</owlx:Clase>

<owlx:ObjectProperty owlx:name="vintageOf">
<owlx:dominio owlx:clase="#Vintage" />
<owlx:range owlx:class="#Vino" />
</owlx:PropiedadObjeto>

Sintaxis RDF/XML: 

owl:Restriction (ver también la clase Vintage en [ Guía OWL ])

<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#vintageOf"/>
<owl:minCardinalidad
rdf:datatype="&xsd;NonNegativeInteger">1</owl:minCardinality>
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

<owl:ObjectProperty rdf:ID="vintageOf">
<rdfs:dominio rdf:recurso="#Vintage" />
<rdfs:range rdf:resource="#Vino" />
</owl:PropiedadObjeto>

(b) Propiedades y tipos de datos

OWL distingue propiedades si relacionan individuos con individuos (propiedades de objeto) o individuos con tipos de datos (propiedades de tipo de datos). Las propiedades de tipo de datos pueden abarcar cadenas o utilizar tipos simples definidos según los tipos de datos del esquema XML [ XMLSchema-2 ].

Ejemplo B2-12 : Sintaxis de presentación XML para owlx:Class [axiom] y owlx:DatatypeProperty

<owlx:Clase owlx:nombre="AñoDeCosecha" owlx:completo="falso" />

<owlx:PropiedadTipoDeDatos owlx:nombre="ValorDeAño">
<owlx:dominio owlx:clase="#AñoVintage" />
<owlx:range owlx:datatype="&xsd;Entero positivo" />
</owlx:PropiedadDeTipoDeDatos>

Sintaxis RDF/XML: 

owl:DatatypeProperty (véase también 3.2.2 en [ Guía de OWL ])

<owl:Class rdf:ID="Año de cosecha" />

<owl:PropiedadTipoDeDatos rdf:ID="ValorAño">
<rdfs:dominio rdf:recurso="#VintageYear" />
<rdfs:range rdf:resource="&xsd;Entero positivo"/>
</owl:PropiedadDeTipoDeDatos>

(c) Propiedades de los individuos

En el siguiente ejemplo, se define un individuo de vino Cabernet Sauvignon con referencia a individuos de Región y Bodega.

Ejemplo B2-13 : Sintaxis de presentación XML para owlx:Individual [axioma]

<owlx:Individual owlx:name="Región de las Montañas de Santa Cruz">
<owlx:type owlx:name="Región" />
<owlx:ObjectPropertyValue owlx:property="ubicadoEn">
<owlx:Individual owlx:name="#Región de California" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

<owlx:Individual owlx:name="Viñedo de la Montaña de Santa Cruz">
<owlx:type owlx:name="Bodega" />
</owlx:Individual>

<owlx:Individual owlx:name="SantaCruzMountainVineyardCabernetSauvignon">
<owlx:type owlx:name="Cabernet Sauvignon" />
<owlx:ObjectPropertyValue owlx:property="ubicadoEn">
<owlx:Individual owlx:name="#SantaCruzMountainsRegion" />
</owlx:ObjectPropertyValue>
<owlx:ObjectPropertyValue owlx:property="tieneCreador">
<owlx:Individual owlx:name="#SantaCruzMountainVineyard" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

Sintaxis RDF/XML (véase también 3.2.3 en [ Guía OWL ])

<Región rdf:ID="Región de las Montañas de Santa Cruz">
<ubicado en rdf:resource="#CaliforniaRegion" />
</Región>

<Bodega rdf:ID="SantaCruzMountainVineyard" />

<CabernetSauvignon rdf:ID="SantaCruzMountainVineyardCabernetSauvignon" >
<ubicado en rdf:resource="#SantaCruzMountainsRegion"/>
<hasMaker rdf:resource="#SantaCruzMountainVineyard" />
Cabernet Sauvignon

Se pueden agregar propiedades de tipo de dato a individuos. A continuación, se crea una instancia de VintageYear y se asocia un valor específico de tipo &xsd;positiveInteger (es decir, http://www.w3.org/2001/XMLSchema#positiveInteger ).

Ejemplo B2-14 : Sintaxis de presentación XML para owlx:Individual [axioma]

<owlx:Individual owlx:name="Año1998">
<owlx:type owlx:name="Año de cosecha" />
<owlx:DataPropertyValue owlx:property="yearValue">
<owlx:DataValue owlx:datatype="&xsd;positiveInteger">1998</owlx:DataValue>
</owlx:ValorDePropiedadDeDatos>
</owlx:Individual>

Sintaxis RDF/XML (véase también 3.2.3 en [ Guía OWL ])

<VintageYear rdf:ID="Año1998">
<yearValue rdf:datatype="&xsd;positiveInteger">1998</yearValue>
</AñoDeCosecha>

B.2.3 Características de la propiedad

(a) Propiedad transitiva

Ejemplo B2-15 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:ObjectProperty owlx:name="ubicadoEn" owlx:transitivo="verdadero">
<owlx:domain owlx:class="&owl;Cosa" />
<owlx:range owlx:class="#Región" />
</owlx:PropiedadObjeto>

<owlx:Individual owlx:name="Región de las Montañas de Santa Cruz">
<owlx:type owlx:name="Región" />
<owlx:ObjectPropertyValue owlx:property="ubicadoEn">
<owlx:Individual owlx:name="#Región de California" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

<owlx:Individual owlx:name="Región de California">
<owlx:type owlx:name="Región" />
<owlx:ObjectPropertyValue owlx:property="ubicadoEn">
<owlx:Individual owlx:name="#USRegion" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

Sintaxis RDF/XML: owl:ObjectProperty (véase también 3.3 en [ Guía de OWL ])

<owl:ObjectProperty rdf:ID="ubicadoEn">
<rdf:type rdf:resource="&owl;PropiedadTransitiva" />
<rdfs:domain rdf:resource="&owl;Cosa" />
<rdfs:range rdf:resource="#Región" />
</owl:PropiedadObjeto>

<Región rdf:ID="Región de las Montañas de Santa Cruz">
<ubicado en rdf:resource="#CaliforniaRegion" />
</Región>

<Región rdf:ID="Región de California">
<ubicado en rdf:resource="#USRegion" />
</Región>

(b) Propiedad simétrica

Ejemplo B2-16 : Sintaxis de presentación XML para owlx:ObjectProperty y owlx:Individual [axioma]

<owlx:ObjectProperty owlx:name="Región adyacente" owlx:symmetric="true">
<owlx:dominio owlx:clase="#Región" />
<owlx:range owlx:class="#Región" />
</owlx:PropiedadObjeto>

<owlx:Individual owlx:name="Región de Mendocino">
<owlx:type owlx:name="Región" />
<owlx:ObjectPropertyValue owlx:property="ubicadoEn">
<owlx:Individual owlx:name="#Región de California" />
</owlx:ObjectPropertyValue>
<owlx:ObjectPropertyValue owlx:property="Región adyacente">
<owlx:Individual owlx:name="#Región de Sonoma" />
</owlx:ObjectPropertyValue>
</owlx:Individual>

Sintaxis RDF/XML: owl:ObjectProperty (véase también 3.3 en [ Guía de OWL ])

<owl:ObjectProperty rdf:ID="Región adyacente">
<rdf:type rdf:resource="&owl;PropiedadSimétrica" ​​/>
<rdfs:dominio rdf:recurso="#Región" />
<rdfs:range rdf:resource="#Región" />
</owl:PropiedadObjeto>

<Región rdf:ID="Región de Mendocino">
<ubicado en rdf:resource="#CaliforniaRegion" />
<adjacentRegion rdf:resource="#SonomaRegion" />
</Región>

(c) Propiedad funcional

Ejemplo B2-17 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:Clase owlx:nombre="AñoDeCosecha" owlx:completo="falso" />

<owlx:ObjectProperty owlx:name="tieneAñoDeCosecha" owlx:functional="true">
<owlx:dominio owlx:clase="#Vintage" />
<owlx:range owlx:class="#VintageYear" />
</owlx:PropiedadObjeto>

Sintaxis RDF/XML: 

owl:ObjectProperty (véase también 3.3 en [ Guía de OWL ])

<owl:Class rdf:ID="Año de cosecha" />

<owl:ObjectProperty rdf:ID="tieneAñoDeVintage">
<rdf:type rdf:resource="&owl;PropiedadFuncional" />
<rdfs:dominio rdf:recurso="#Vintage" />
<rdfs:range rdf:resource="#VintageYear" />
</owl:PropiedadObjeto>

(d) Inversa de

Ejemplo B2-18 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:ObjectProperty owlx:name="hasMaker" owlx:functional="true" />
<owlx:ObjectProperty owlx:name="produceVino" owlx:inverseOf="#hasMaker" />

Sintaxis RDF/XML: 

owl:ObjectProperty (véase también 3.3 en [ Guía de OWL ])

<owl:ObjectProperty rdf:ID="tieneCreador">
<rdf:type rdf:resource="&owl;PropiedadFuncional" />
</owl:PropiedadObjeto>

<owl:ObjectProperty rdf:ID="produceVino">
<owl:inverseOf rdf:resource="#hasMaker" />
</owl:PropiedadObjeto>

(e) Propiedad funcional inversa

Ejemplo B2-19 : Sintaxis de presentación XML para owlx:ObjectProperty

<owlx:ObjectProperty owlx:name="tieneCreador" />

<owlx:ObjectProperty owlx:name="produceVino"
        owlx:inverseFunctional="verdadero"
        owlx:inverseOf="#hasMaker" />

Sintaxis RDF/XML: owl:ObjectProperty (véase también 3.3 en [ Guía de OWL ])
<owl:ObjectProperty rdf:ID="tieneCreador" />

<owl:ObjectProperty rdf:ID="produceVino">
<rdf:type rdf:resource="&owl;PropiedadFuncionalInversa" />
<owl:inverseOf rdf:resource="#hasMaker" />
</owl:PropiedadObjeto>

B.2.4 Restricciones de propiedad

(a) todos los valores de

Ejemplo B2-20 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Class owlx:name="Vino" owlx:complete="false">
<owlx:Class owlx:name="&comida;Líquido Potable" />
<owlx:ObjectRestriction owlx:property="#hasMaker">
<owlx:allValuesFrom owlx:class="#Bodega" />
</owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:Restriction (véase también 3.4.1 en [ Guía OWL ])

<owl:Class rdf:ID="Vino">
<rdfs:subClassOf rdf:resource="&comida;Líquido Potable" />
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:allValuesFrom rdf:resource="#Bodega" />
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

(b) algunosValoresDe

Ejemplo B2-21 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Clase owlx:nombre="Vino2" owlx:completo="falso">
<owlx:Class owlx:name="&comida;Líquido Potable" />
<owlx:ObjectRestriction owlx:property="#hasMaker">
<owlx:algunosValoresDeowlx:clase="#Bodega" />
</owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:Restriction (véase también 3.4.1 en [ Guía OWL ])

<owl:Clase rdf:ID="Vino2">
<rdfs:subClassOf rdf:resource="&comida;Líquido Potable" />
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:someValuesFrom rdf:resource="#Bodega" />
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

(c) Cardinalidad

Ejemplo B2-22 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Clase owlx:nombre="Vintage" owlx:completo="falso">
<owlx:ObjectRestriction owlx:property="#hasVintageYear">
<owlx:cardinalidad owlx:valor="1" />
<owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:Restriction (véase también 3.4.2 en [ Guía OWL ])

<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<búho:cardinalidad
rdf:datatype="&xsd;NonNegativeInteger">1</owl:cardinality>
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

(d) tiene valor

Ejemplo 2-23 : Sintaxis de presentación XML para owlx:ObjectRestriction

<owlx:Class owlx:name="Borgoña" owlx:complete="false">
<owlx:ObjectRestriction owlx:property="#hasSugar">
<owlx:hasValue owlx:name="#Seco" />
</owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:Restriction (véase también 3.4.3 en [ Guía OWL ])

<owl:Class rdf:ID="Borgoña">
<rdfs:subClassOf>
<owl:Restricción>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restricción>
</rdfs:subClassOf>
</owl:Clase>

B.3 Mapeo de ontologías

B.3.1 Clase equivalente

Ejemplo 3-1 : Sintaxis de presentación XML para owlx:Class [axiom]

<owlx:Class owlx:name="Vino" owlx:complete="true">
  <owlx:Class owlx:name="&vin;Vino" />
</owlx:Clase>

Sintaxis RDF/XML: owl:equivalentClass (véase también 4.1 en [ Guía de OWL ])
<owl:Class rdf:ID="Vino">
<owl:equivalentClass rdf:resource="&vin;Vino"/>
</owl:Clase>

Ejemplo 3-2 : Sintaxis de presentación XML para owlx:Class [axiom]

<owlx:Class owlx:name="TexasThings" owlx:complete="true">
  <owlx:ObjectRestriction owlx:property="#locatedIn">
    <owlx:allValuesFrom owlx:class="#RegiónDeTexas" />
  </owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:equivalentClass (véase también 4.1 en [ Guía de OWL ])

<owl:Class rdf:ID="TexasThings">
<búho:equivalenteClase>
<owl:Restricción>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:allValuesFrom rdf:resource="#RegiónDeTexas" />
</owl:Restricción>
</owl:equivalentClass>
</owl:Clase>

B.3.2 El mismo individuo

Ejemplo 3-3 : Sintaxis de presentación XML para owlx:SameIndividual

<owlx:Individual owlx:name="#MikesFavoriteWine">
<owlx:type owlx:name="Vino" />
</owlx:Individual>

<owlx:MismoIndividuo>
<owlx:Individual owlx:nombre="#MikesFavoriteWine" owlx:tipo="Vino" />
<owlx:Individual owlx:name="#StGenevieveTexasWhite" />
</owlx:MismoIndividuo>

Sintaxis RDF/XML: owl:sameIndividualAs (véase también 4.2 en [ Guía de OWL ])

<Vino rdf:ID="VinoFavorito de Mike">
<owl:sameIndividualAs rdf:resource="#StGenevieveTexasWhite" />
</Vino>

B.3.3 Diferentes individuos

Ejemplo 3-4 : Sintaxis de presentación XML para owlx:DifferentIndividuals

<owlx:Individual owlx:name="Seco">
<owlx:type owlx:name="VinoAzúcar" />
</owlx:Individual>

<owlx:Individual owlx:name="Dulce">
<owlx:type owlx:name="VinoAzúcar" />
</owlx:Individual>

<owlx:Diferentes individuos>
<owlx:Individual owlx:name="#Dulce" />
<owlx:Individual owlx:name="#Seco" />
</owlx:DiferentesIndividuos>

Sintaxis RDF/XML: owl:differentFrom (véase también 4.3 en [ Guía de OWL ])

<WineSugar rdf:ID="Seco" />

<WineSugar rdf:ID="Dulce">
<owl:differentFrom rdf:resource="#Dry"/>
</AzúcarVino>

Ejemplo 3-5 : Sintaxis de presentación XML para owlx:DifferentIndividuals

<owlx:Individual owlx:name="OffDry">
<owlx:type owlx:name="VinoAzúcar" />
</owlx:Individual>

<owlx:Diferentes individuos>
<owlx:Individual owlx:name="#OffDry" />
<owlx:Individual owlx:name="#Seco" />
<owlx:Individual owlx:name="#Dulce" />
</owlx:DiferentesIndividuos>

Sintaxis RDF/XML: owl:differentFrom (véase también 4.3 en [ Guía de OWL ])

<WineSugar rdf:ID="Desactivado">
<owl:differentFrom rdf:resource="#Dry"/>
<owl:differentFrom rdf:resource="#Dulce"/>
</AzúcarVino>

Ejemplo 3-6 : Sintaxis de presentación XML para owlx:DifferentIndividuals

<owlx:Diferentes individuos>
<owlx:Individual owlx:name="Rojo" owlx:type="&vin;ColorVino" />
<owlx:Individual owlx:name="Blanco" owlx:type="&vin;ColorVino" />
<owlx:Individual owlx:name="Rosa" owlx:type="&vin;ColorVino" />
</owlx:DiferentesIndividuos>

Sintaxis RDF/XML: owl:AllDifferent (véase también 4.3 en [ Guía de OWL ])

<búho:TodoDiferente>
  <owl:distinctMembers rdf:parseType="Colección">
    <vin:WineColor rdf:about="#Red" />
    <vin:WineColor rdf:about="#Blanco" />
    <vin:WineColor rdf:about="#Rose" />
  </owl:distinctMembers>
</owl:AllDifferent>

B.4 Clases complejas

B.4.1 Operadores de conjuntos

Las clases construidas mediante operaciones de conjuntos son definiciones (o axiomas), y sus miembros se especifican completamente mediante la operación de conjunto. En la sintaxis de presentación XML, el atributo de modalidad owlx:complete de owlx:Class [axioma] debe establecerse como verdadero para las definiciones de clase que utilizan operadores de conjuntos.

(a) Intersección

La definición de clase a continuación indica que WhiteWine es exactamente la intersección de la clase Wine y el conjunto de objetos de color blanco. Esto significa que si algo es blanco y un vino, entonces es una instancia de WhiteWine . Sin esta definición, es posible saber que los vinos blancos son vinos y blancos, pero no viceversa. Esta es una herramienta importante para categorizar individuos.

Ejemplo 4-1 : Sintaxis de presentación XML para owlx:IntersectionOf

<owlx:Class owlx:name="Vino Blanco" owlx:complete="true">
<owlx:IntersecciónDe>
<owlx:Class owlx:name="#Vino" />
<owlx:ObjectRestriction owlx:property="#hasColor">
<owlx:hasValue owlx:name="#Blanco" />
</owlx:Restricción de objeto>
</owlx:IntersecciónDe>
</owlx:Clase>

Sintaxis RDF/XML: owl:intersectionOf (véase también 5.1.1 en [ Guía de OWL ])

<owl:Class rdf:ID="Vino Blanco">
<owl:intersectionOf rdf:parseType="Colección">
<owl:Class rdf:about="#Vino" />
<owl:Restricción>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Blanco" />
</owl:Restricción>
</owl:intersectionOf>
</owl:Clase>

El siguiente ejemplo define Borgoña que incluye exactamente aquellos vinos que tienen al menos una relación con la región de Borgoña.

Ejemplo 4-2 : Sintaxis de presentación XML para owlx:Class [axiom] (con un ‘owlx:IntersectionOf’ implícito ):

<owlx:Class owlx:name="#Borgoña" owlx:complete="true">
<owlx:Class owlx:name="#Vino" />
<owlx:ObjectRestriction owlx:property="#locatedIn">
<owlx:hasValue owlx:name="#Región de Borgoña" />
</owlx:Restricción de objeto>
</owlx:Clase>

Sintaxis RDF/XML: owl:intersectionOf (véase también 5.1.1 en [ Guía de OWL ])

<owl:Class rdf:about="#Borgoña">
<owl:intersectionOf rdf:parseType="Colección">
<owl:Class rdf:about="#Vino" />
<owl:Restricción>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#RegiónDeBorgoña" />
</owl:Restricción>
</owl:intersectionOf>
</owl:Clase>

El siguiente ejemplo dice que la clase WhiteBurgundy es exactamente la intersección de los vinos blancos y los borgoñones.

Ejemplo 4-3 : Sintaxis de presentación XML para owlx:Class [axiom]

<owlx:Class owlx:name="BlancoBorgoña" owlx:complete="true">
<owlx:Class owlx:name="#Borgoña" />
<owlx:Class owlx:name="#VinoBlanco" />
</owlx:Clase>

Sintaxis RDF/XML: owl:intersectionOf (véase también 5.1.1 en [ Guía de OWL ])

<owl:Class rdf:ID="Blanco borgoña">
<owl:intersectionOf rdf:parseType="Colección">
<owl:Class rdf:about="#Borgoña" />
<owl:Class rdf:about="#VinoBlanco" />
</owl:intersectionOf>
</owl:Clase>

(b) Unión

La clase Fruit que se muestra a continuación incluye tanto la extensión de SweetFruit como la extensión de NonSweetFruit .

Ejemplo 4-4 : Sintaxis de presentación XML para owlx:UnionOf

<owlx:Clase owlx:nombre="Fruta" owlx:completo="verdadero">
<owlx:UniónDe>
<owlx:Clase owlx:name="#SweetFruit" />
<owlx:Class owlx:name="#FrutaNoDulce" />
</owlx:UniónDe>
</owlx:Clase>

Sintaxis RDF/XML: owl:unionOf (véase también 5.1.2 en [ Guía de OWL ])

<owl:Class rdf:ID="Fruta">
<owl:unionOf rdf:parseType="Colección">
<owl:Class rdf:about="#SweetFruit" />
<owl:Class rdf:about="#FrutaNoDulce" />
</owl:unionOf>
</owl:Clase>

El siguiente ejemplo dice que las instancias de Fruta son un subconjunto de la intersección de fruta dulce y no dulce, que se espera que sea el conjunto vacío.

Ejemplo 4-5 : Sintaxis de presentación XML para owlx:Class [axiom]

<owlx:Clase owlx:nombre="Fruta2" owlx:completo="falso">
<owlx:Clase owlx:name="#SweetFruit" />
<owlx:Class owlx:name="#FrutaNoDulce" />
</owlx:Clase>

Sintaxis RDF/XML: owl:Class (véase también 5.1.2 en [ Guía de OWL ])

<owl:Class rdf:ID="Fruta">
<rdfs:subClassOf rdf:resource="#SweetFruit" />
<rdfs:subClassOf rdf:resource="#NonSweetFruit" />
</owl:Clase>

(c) Complement

El constructo complementOf selecciona a todos los individuos del dominio del discurso que no pertenecen a una clase determinada. Generalmente, esto se refiere a un conjunto muy amplio de individuos:

Ejemplo 4-6 : Sintaxis de presentación XML para owlx:ComplementOf

<owlx:Clase owlx:nombre="CosaNoConsumible" owlx:completo="verdadero">
<owlx:ComplementoDe>
<owlx:Class owlx:name="#ObjetoConsumible" />
</owlx:ComplementoDe>
</owlx:Clase>

Sintaxis RDF/XML: owl:complementOf (véase también 5.1.3 en [ Guía de OWL ])

<owl:Class rdf:ID="Objeto consumible" />

<owl:Class rdf:ID="Objeto no consumible">
<owl:complementOf rdf:resource="#ObjetoConsumible" />
</owl:Clase>

La clase NonConsumableThing mencionada anteriormente incluye como miembros a todos los individuos que no pertenecen a la extensión ConsumableThing . Este conjunto incluye todos los Wine (s) , Region (s) , etc. Es literalmente la diferencia de conjunto entre owlx:Individual (es decir, owl:Thing en la sintaxis RDF/XML) y ConsumableThing . Un patrón de uso típico para el operador de complemento es, por lo tanto, en combinación con otros operadores de conjunto:

El siguiente ejemplo define la clase NonFrenchWine como la intersección de Wine con el conjunto de todas las cosas que no se encuentran en Francia .

Ejemplo 4-7 : Sintaxis de presentación XML para owlx:ComplementOf

<owlx:Class owlx:name="Vino no francés" owlx:complete="true">
<owlx:Class owlx:name="#Vino" />
<owlx:ComplementoDe>
<owlx:ObjectRestriction owlx:property="#locatedIn">
<owlx:hasValue owlx:name="#RegiónFrancés" />
</owlx:Restricción de objeto>
</owlx:ComplementoDe>
</owlx:Clase>

Sintaxis RDF/XML: owl:complementOf (véase también 5.1.3 en [ Guía de OWL ])

<owl:Class rdf:ID="Vino no francés">
<owl:intersectionOf rdf:parseType="Colección">
<owl:Class rdf:about="#Vino"/>
<búho:Clase>
<búho:complementoDe>
<owl:Restricción>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#RegiónFrancés" />
</owl:Restricción>
</owl:complementoDe>
</owl:Clase>
</owl:intersectionOf>
</owl:Clase>

B.4.2 Clases enumeradas

Una clase OWL se puede definir mediante la enumeración directa de sus miembros mediante la construcción owlx:OneOf . Esta definición especifica completamente la extensión de la clase, de modo que no se puede declarar que otros individuos pertenecen a ella. A continuación, se define la clase WineColor cuyos miembros son los individuos White , Rose y Red .

Ejemplo 4-8 : Sintaxis de presentación XML para owlx:OneOf [objeto]

<owlx:Class owlx:name="ColorVino" owlx:complete="false">
<owlx:Clase owlx:nombre="#WineDescriptor" />
<owlx:UnoDe>
<owlx:Individual owlx:name="#Blanco" />
<owlx:Individual owlx:name="#Rose" />
<owlx:Individual owlx:name="#Rojo" />
</owlx:UnoDe>
</owlx:Clase>

Sintaxis RDF/XML: owl:oneOf (véase también 5.2 en [ Guía OWL ])

<owl:Class rdf:ID="ColorVino">
<rdfs:subClassOf rdf:resource="#WineDescriptor"/>
<owl:oneOf rdf:parseType="Colección">
<owl:Cosa rdf:sobre="#Blanco"/>
<owl:Cosa rdf:acerca de="#Rosa"/>
<owl:Cosa rdf:sobre="#Rojo"/>
</owl:unoDe>
</owl:Clase>

En la sintaxis de presentación XML, owlx:EnumeratedClass también se puede utilizar para la definición de clase enumerativa como se muestra a continuación.

Ejemplo 4-9 : Sintaxis de presentación XML para owlx:EnumeratedClass

<owlx:Class owlx:name="ColorVino" owlx:complete="false">
  <owlx:Clase owlx:nombre="#WineDescriptor" />
</owlx:Clase>

<owlx:EnumeratedClass owlx:name="ColorVino">
  <owlx:Individual owlx:name="#Blanco" owlx:type="ColorVino" />
  <owlx:Individual owlx:name="#Rosa" owlx:type="ColorVino" />
  <owlx:Individual owlx:name="#Rojo" owlx:type="ColorVino" />
</owlx:ClaseEnumerada>

Sintaxis RDF/XML: owl:oneOf (véase también 5.2 en [ Guía OWL ])
<owl:Class rdf:ID="ColorVino">
<rdfs:subClassOf rdf:resource="#WineDescriptor"/>
<owl:oneOf rdf:parseType="Colección">
<WineColor rdf:about="#Blanco" />
<WineColor rdf:about="#Rose" />
<WineColor rdf:about="#Rojo" />
</owl:unoDe>
</owl:Clase>

B.4.3 Clases disjuntas

La disyunción de un conjunto de clases garantiza que un individuo que es miembro de una clase no puede ser simultáneamente una instancia de otra clase específica.

Ejemplo 4-10 : Sintaxis de presentación XML para owlx:DisjointClasses

<owlx:Clase owlx:nombre="Pasta" owlx:completo="falso">
<owlx:Clase owlx:nombre="#CosaComestible" />
</owlx:Clase>

<owlx:Clases disjuntas>
<owlx:Clase owlx:nombre="#Pasta" />
<owlx:Class owlx:name="#Carne" />
</owlx:Clases disjuntas>

<owlx:Clases disjuntas>
<owlx:Clase owlx:nombre="#Pasta" />
<owlx:Clase owlx:nombre="#Aves" />
</owlx:Clases disjuntas>

<owlx:Clases disjuntas>
<owlx:Clase owlx:nombre="#Pasta" />
<owlx:Class owlx:name="#Mariscos" />
</owlx:Clases disjuntas>

<owlx:Clases disjuntas>
<owlx:Clase owlx:nombre="#Pasta" />
<owlx:Class owlx:name="#Postre" />
</owlx:Clases disjuntas>

<owlx:Clases disjuntas>
<owlx:Clase owlx:nombre="#Pasta" />
<owlx:Clase owlx:nombre="#Fruta" />
</owlx:Clases disjuntas>

Sintaxis RDF/XML: owl:disjointWith (véase también 5.3 en [ Guía de OWL ])

<owl:Class rdf:ID="Pasta">
<rdfs:subClassOf rdf:resource="#CosaComestible"/>
<owl:disjointWith rdf:resource="#Meat"/>
<owl:disjointWith rdf:resource="#Fowl"/>
<owl:disjointWith rdf:resource="#Mariscos"/>
<owl:disjointWith rdf:resource="#Postre"/>
<owl:disjointWith rdf:resource="#Fruit"/>
</owl:Clase>

El ejemplo de Pasta anterior muestra varias clases disjuntas. Tenga en cuenta que esto solo afirma que Pasta es disjunta de todas estas otras clases. No afirma, por ejemplo, que Carne y Fruta sean disjuntas. Una aserción owlx:DisjointClasses en la sintaxis de presentación XML permite afirmar que un conjunto de clases es mutuamente disjunto. Por otro lado, debe haber una aserción owl:disjointWith para cada par en la sintaxis RDF/XML.

Un requisito común es definir una clase como la unión de un conjunto de subclases disjuntas. En el siguiente ejemplo, Fruit se define como la unión exacta de SweetFruit y NonSweetFruit . Cabe destacar que estas subclases dividen a Fruit en dos subclases distintas debido a su disjunción.

Ejemplo 4-11 : Sintaxis de presentación XML para owlx:DisjointClasses

<owlx:Clase owlx:nombre="FrutaDulce" owlx:completo="falso">
<owlx:Clase owlx:nombre="#CosaComestible" />
</owlx:Clase>

<owlx:Clase owlx:nombre="FrutaNoDulce" owlx:completo="falso">
<owlx:Clase owlx:nombre="#CosaComestible" />
</owlx:Clase>

<owlx:Clases disjuntas>
<owlx:Clase owlx:name="#SweetFruit" />
<owlx:Class owlx:name="#FrutaNoDulce" />
</owlx:Clases disjuntas>

Sintaxis RDF/XML: owl:disjointWith (véase también 5.3 en [ Guía de OWL ])

<búho:Clase rdf:ID="FrutaDulce">
<rdfs:subClassOf rdf:resource="#CosaComestible" />
</owl:Clase>

<owl:Class rdf:ID="Fruta no dulce">
<rdfs:subClassOf rdf:resource="#CosaComestible" />
<owl:disjointWith rdf:resource="#SweetFruit" />
</owl:Clase>

B.5 Versiones de ontología

Ejemplo 5-1 : Sintaxis de presentación XML para owlx:PriorVersion

<owlx:PriorVersion owlx:ontology="http://www.example.org/wine-112102.owl" />

Sintaxis RDF/XML: owl:priorVersion (véase también 6. en [ Guía de OWL ])

<owl:Ontology rdf:about="http://www.example.org/wine">
<owl:priorVersion rdf:resource="http://www.example.org/wine-112102.owl"/>
</owl:Ontología>

Ejemplo 5-2 : Sintaxis de presentación XML para owlx:Class [axiom] y owlx:ObjectProperty

<owlx:Class owlx:name="&vin;Jarra de Vino"
owlx:complete="false" owlx:deprecated="true" />

<owlx:ObjectProperty owlx:name="&vin;hasSeeds" owlx:deprecated="true" />

Sintaxis RDF/XML: owl:DeprecatedClass y owl:DeprecatedProperty (véase también 6. en [ Guía de OWL ])

<owl:DeprecatedClass rdf:ID="&vin;JugWine" />
<owl:DeprecatedProperty rdf:ID="&vin;tieneSemillas" />

Fuente: https://www.w3.org/TR/owl-xmlsyntax/apd-example.html

Deja una respuesta