En la representación del conocimiento , especialmente en la Web Semántica , una metaclase es una clase cuyas instancias pueden ser, a su vez, clases. De forma similar a su función en los lenguajes de programación , las metaclases en los lenguajes de ontología pueden tener propiedades que, de otro modo, solo se aplicarían a individuos, conservando al mismo tiempo la capacidad de la misma clase para ser clasificada en una jerarquía de conceptos. Esto permite que los razonadores semánticos infieran conocimiento sobre las instancias de dichas metaclases utilizando enunciados de la metaclase. De este modo, las metaclases mejoran la expresividad de las representaciones del conocimiento de una manera que puede resultar intuitiva para los usuarios.
Si bien las clases son adecuadas para representar una población de individuos, las metaclases pueden, como una de sus características, usarse para representar la dimensión conceptual de una ontología . [ 1 ] Las metaclases son compatibles con el Lenguaje de Ontología Web (OWL) y el vocabulario de modelado de datos RDFS . Las metaclases a menudo se modelan estableciéndolas como el objeto de las afirmaciones que involucran rdf:type y rdfs:subClassOf, propiedades integradas comúnmente denominadas instancia de y subclase de . Instancia de implica que el sujeto de la afirmación es una instancia, es decir, un individuo que es miembro de una clase. Subclase de implica que el sujeto es una clase. En el contexto de instancia de y subclase de , la diferencia clave entre las metaclases y las clases ordinarias es que las metaclases son el objeto de instancia de afirmaciones usadas en una clase, mientras que las clases ordinarias no son objetos de tales afirmaciones. (Por ejemplo, en una afirmación , Bob es el sujeto y una instancia, mientras que el objeto, Humano, es una clase ordinaria; pero otra afirmación hace que "Especies animales" sea una metaclase porque tiene un miembro, "Humano", que también es una clase).Bob instance of HumanHuman instance of Animal species
OWL 2 DL admite metaclases mediante una característica llamada juego de palabras , [ 2 ] en la que una entidad se interpreta como dos tipos diferentes de cosas —una clase y un individuo— dependiendo de su contexto sintáctico. Por ejemplo, mediante el juego de palabras, una ontología podría tener una jerarquía de conceptos como , , y . En este caso, la entidad con juego de palabras sería águila real, porque está representada como una clase (segunda afirmación) y una instancia (tercera afirmación); mientras que la metaclase sería especie, ya que tiene una instancia que es una clase. El juego de palabras también permite que otras propiedades que de otro modo solo serían aplicables a instancias ordinarias se utilicen directamente en clases, por ejemplo " estado de conservación del águila real preocupación menor ". [ 3 ]Harry the eagle instance ofgolden eaglegolden eagle subclass ofbirdgolden eagle instance ofspecies
Surgidos de los campos de la representación del conocimiento , la lógica descriptiva y la ontología formal , los lenguajes de la Web Semántica tienen una relación más estrecha con la ontología filosófica que los lenguajes de programación convencionales como Java o Python . En consecuencia, la naturaleza de las metaclases se basa en nociones filosóficas como los objetos abstractos , lo abstracto y lo concreto , y la distinción entre tipo y token . Las metaclases permiten que los conceptos se interpreten como tokens de otros conceptos, conservando su estatus ontológico como tipos. Esto posibilita la enumeración de tipos, manteniendo la capacidad de heredar de ellos. Por ejemplo, las metaclases podrían permitir que un razonador automático infiera, a partir de una ontología comprensible para los humanos, cuántos elementos hay en la tabla periódica o, dado que el número de protones es una propiedad de los elementos químicos y los isótopos son una subclase de elementos, cuántos protones existen en el isótopo hidrógeno-2 .
Las metaclases a veces se organizan por niveles, de forma similar a la Teoría de tipos simple [ 4 ], donde las clases que no son metaclases se asignan al primer nivel, las clases de clases del primer nivel están en el segundo nivel, las clases de clases del segundo nivel en el siguiente, y así sucesivamente. [ 5 ]
Ejemplos
Siguiendo la distinción entre tipo y token , los objetos del mundo real, como Abraham Lincoln o el planeta Marte, se reagrupan en clases de objetos similares. Se dice que Abraham Lincoln es una instancia de humano, y Marte es una instancia de planeta. Esta es una especie de relación "es un" . Las metaclases son clases de clases, como por ejemplo el concepto de nucleido . En química, los átomos suelen clasificarse como elementos y, más específicamente, como isótopos . El vaso de agua que bebimos por última vez tiene muchos átomos de hidrógeno, cada uno de los cuales es una instancia de hidrógeno . El hidrógeno mismo, una clase de átomos, es una instancia de nucleido . El nucleido es una clase de clases, por lo tanto, una metaclase.
Implementaciones
RDF y RDFS
En RDF , la propiedad rdf:type se utiliza para indicar que un recurso es una instancia de una clase. [ 6 ] Esto permite crear fácilmente metaclases utilizando rdf:type de forma encadenada. [ 7 ] [ 8 ] Por ejemplo, en los dos triples
: Harry_the_eagle rdf : tipo : golden_eagle : golden_eagle rdf : tipo : especieLa especie de recurso es una metaclase, ya que el águila real se utiliza como clase en la primera afirmación y, en la segunda, se dice que la clase águila real es una instancia de la clase especie . Esta forma de proceder permite tener instancias que no son de clase.:species
RDF también proporciona rdf:Property como una forma de crear propiedades más allá de las definidas en el vocabulario integrado. Las propiedades se pueden usar directamente en metaclases, por ejemplo, " species quantity 8.7 million ", donde quantity es una propiedad definida mediante rdf:Property y species es una metaclase según el ejemplo anterior.
RDFS , una extensión de RDF, introdujo rdfs:Class y rdfs:subClassOf y enriqueció la forma en que los vocabularios pueden clasificar conceptos. [ 9 ] [ 10 ] Mientras que rdf:type permite a los vocabularios representar instanciaciones , la propiedad rdfs:subClassOf permite a los vocabularios representar subsunciones . De este modo, RDFS posibilita que los vocabularios representen taxonomías , también conocidas como jerarquías de subsunción o jerarquías de conceptos, lo que constituye una adición importante a la distinción tipo-token que posibilita RDF.
En particular, el recurso rdfs:Class es una instancia de sí mismo, [ 9 ] demostrando tanto el uso de metaclases en la implementación interna del lenguaje como un uso reflexivo de rdf:type . RDFS es su propio metamodelo [ 11 ] . Esto permite una segunda forma de expresar que un recurso es una metaclase. Una tripleta para instanciar , por ejemplo, declarará como una clase. También es posible crear una subclase del recurso para declarar un recurso de metaclase, por ejemplo . Por deducción , cualquier instancia de :species es entonces una clase, por lo que es una clase con instancias de clase, una metaclase. [ 12 ] . Esta segunda forma no permite instancias que no sean de clase de species y declara explícitamente como una metaclase.rdfs:Class:golden_eaglerdf:typerdfs:Class:golden_eaglerdfs:Class:speciesrdfs:SubclassOf:tpecies
BÚHO
En algunas variantes de OWL, como OWL1 -DL, las entidades pueden ser clases o instancias, pero no ambas. Esta limitación impide el uso de metaclases y metamodelado . [ 13 ] Este no es el caso en la versión completa de OWL1, pero esto permite que el modelo sea computacionalmente indecidible. [ 14 ] En OWL2 , las metaclases se pueden implementar con el uso de la notación de palabras , que permite tratar las clases como si fueran individuos. [ 2 ] También se han propuesto y utilizado otros enfoques para verificar las propiedades de las ontologías a nivel meta. [ 15 ]
Juego de palabras
OWL 2 admite metaclases mediante una función llamada "juego de palabras" . En las metaclases implementadas mediante este método, un mismo sujeto se interpreta como dos tipos de cosas fundamentalmente diferentes —una clase y un individuo— según su contexto sintáctico. Esto es similar a un juego de palabras en el lenguaje natural, donde se enfatizan los distintos sentidos de una misma palabra para ilustrar un punto. A diferencia del lenguaje natural, donde los juegos de palabras se utilizan normalmente con fines cómicos o retóricos, el objetivo principal del juego de palabras en las tecnologías de la Web Semántica es facilitar la representación de conceptos, acercándolos a cómo se discuten en el lenguaje cotidiano o en la literatura académica.
Aunque OWL 2 permite que el mismo símbolo asuma diferentes roles, su semántica estándar (conocida como Semántica Directa) sigue interpretando el símbolo de manera diferente dependiendo de si se usa como un individuo, una clase o una propiedad. [ 16 ] [ 17 ]
Protegido
En el editor de ontologías Protégé , las metaclases son plantillas para otras clases que son sus instancias. [ 18 ]
Clasificación

Algunas ontologías, como la del proyecto Cyc AI , clasifican clases y metaclases. [ 5 ] Las clases se dividen en clases de orden fijo y clases de orden variable . En el caso de las clases de orden fijo, se atribuye un orden a las metaclases midiendo la distancia a los individuos con respecto al número de triples "instancia de" que son necesarios para encontrar un individuo. Las clases que no son metaclases son clases de individuos, por lo que su orden es "1" ( clases de primer orden ). Las metaclases que son clases de clases de primer orden tienen un orden de "2" ( clases de segundo orden ), y así sucesivamente. Las metaclases de orden variable, por otro lado, pueden tener instancias; un ejemplo de metaclase de orden variable es la clase de todas las clases de orden fijo.
Véase también
Referencias
- ↑ Alain Pirotte; David Massart (2004). "Integración de dos descripciones de taxonomías con materialización" (PDF) . Journal of Object Technology .
- 1 2 "OWL 2 Lenguaje de Ontología Web: Nuevas Características y Fundamentos (Segunda Edición)" . W3C . Consultado el 7 de marzo de 2015 .
- ↑ Robert Stevens; Alan Rector (13 de mayo de 2011). "Conocimiento de orden superior en ontologías" . ontogenesis.knowledgeblog.org .
- ↑ Whitehead, Alfred North; Russell, Bertrand (1910), Principia mathematica , vol. 1 (1.ª ed.), Cambridge: Cambridge University Press, JFM 41.0083.02
- 1 2 Foxvog, D. (2005). Instancias de instancias modeladas mediante clases de orden superior . Taller sobre Aspectos Fundamentales de las Ontologías (FOnt 2005), 28.ª Conferencia Alemana sobre Inteligencia Artificial. Coblenza, Alemania. pp. 46–54 .
- ↑ Dan Brickley; RV Guha (10 de febrero de 2004). "RDF Vocabulary Description Language 1.0: RDF Schema. Sección 3.3, rdf:type" . World Wide Web Consortium.
- ↑ "Introducción a RDF 1.1" . www.w3.org . Consultado el 8 de diciembre de 2025. A
diferencia de muchos otros lenguajes de modelado de datos, RDF Schema permite una considerable libertad de modelado. Por ejemplo, la misma entidad puede usarse como clase y como propiedad. Además, no hay una separación estricta entre el mundo de las "clases" y el de las "instancias". Por lo tanto, la semántica de RDF considera válido el siguiente grafo: ex:Jumbo rdf:type ex:Elephant. ex:Elephant rdf:type ex:Species. Así, "elefante" puede ser tanto una clase (con Jumbo como ejemplo de instancia) como una instancia (de la clase de especie animal).
- ↑ Koide, Seiji; Takeda, Hideaki (2006). "Metamodelado en OOP, MOF, RDFS y OWL" (PDF) . Actas del 2.º Taller Internacional sobre Ingeniería de Software Habilitada para la Web Semántica (SWESE 2006) . Athens, Georgia, EE. UU.: SWESE/ISWC. págs. 1–14 . Especialmente la figura 2
- 1 2 Dan Brickley; RV Guha (10 de febrero de 2004). "RDF Vocabulary Description Language 1.0: RDF Schema. Sección 2.2, rdfs:Class" . Consorcio World Wide Web.
- ↑ Dan Brickley; RV Guha (10 de febrero de 2004). "RDF Vocabulary Description Language 1.0: RDF Schema. Section 3.4, rdfs:subClassOf" . World Wide Web Consortium.
- ↑ S Koide. "Metamodelado en OOP, MOF, RDFS y OwL" (PDF) .
- ^ Koide, Seiji; Takeda, Hideaki (2006). Mizoguchi, Riichiro; Shi, Zhongzhi; Giunchiglia, Fausto (eds.). "Razonamiento completo de OWL desde una perspectiva orientada a objetos" . La Web Semántica - ASWC 2006 . Berlín, Heidelberg: Springer: 263– 277. doi : 10.1007/11836025_27 . ISBN 978-3-540-38331-4.
- ↑ "OWL Web Ontology Language Reference" . W3C . 2004. pp. Apéndice E. Reglas generales para ontologías OWL DL . Consultado el 7 de marzo de 2015 .
- ↑ Boris Motik (2007). "Sobre las propiedades del metamodelado en OWL" (PDF) . Journal of Logic and Computation . 17 (4): 617– 637. doi : 10.1093/logcom/exm027 .
- ↑ Metamodelado y diagnóstico integrados en OWL 2 (PDF) . Conferencia internacional sobre la web semántica . Consultado el 7 de marzo de 2015 .
- ↑ "OWL 2 Web Ontology Language: Nuevas características y fundamentos (Segunda edición)" . W3C . Consultado el 22 de febrero de 2025.
La semántica directa de OWL 2 trata los diferentes usos del mismo nombre como completamente separados.
- ↑ Lenzerini, Maurizio; Lepore, Lorenzo; Poggi, Antonella (marzo de 2021). "Metamodelado y metaconsulta en OWL 2 QL". Journal of Artificial Intelligence . 292 (103432). Elsevier. doi : 10.1016/j.artint.2020.103432 . hdl : 11573/1483956 .
DS se basa en la noción de interpretación de la semántica estándar de la lógica de primer orden (FOL) y, por lo tanto, trata el juego de palabras sancionando que un individuo y una clase con el mismo nombre son elementos diferentes.
- ↑ Rose Dieng y Olivier Corby (eds.). "El modelo de conocimiento de Protégé 2000" (PDF) . Actas de Métodos, Modelos y Herramientas . Ingeniería del conocimiento y gestión del conocimiento . Consultado el 7 de marzo de 2015 .§6.1 Resumen del modelo RDFS
- Lenguajes de ontología
- Lenguaje de ontología web
- Marco de descripción de recursos
- Representación del conocimiento