Metaclasse (Web Semântica) - Metaclass (Semantic Web)

Na Web Semântica e na representação do conhecimento , uma metaclasse é uma classe cujas instâncias são as próprias classes. Semelhante ao seu papel nas linguagens de programação , as metaclasses nas linguagens da Web Semântica podem ter propriedades aplicáveis ​​apenas a indivíduos, enquanto retêm a capacidade da mesma classe de ser classificada em uma hierarquia de conceito. Isso permite que o conhecimento sobre as instâncias dessas metaclasses seja inferido por raciocinadores semânticos usando declarações feitas na metaclasse. As metaclasses, portanto, aumentam a expressividade das representações do conhecimento de uma forma que pode ser intuitiva para os usuários. Embora as classes sejam adequadas para representar uma população de indivíduos, as metaclasses podem, como uma de suas características, ser usadas para representar a dimensão conceitual de uma ontologia. As metaclasses são suportadas na linguagem de ontologia OWL e no vocabulário de modelagem de dados RDFS .

As metaclasses são freqüentemente modeladas definindo-as como o objeto de declarações envolvendo rdf: type e rdfs: subClassOf - propriedades integradas comumente referidas como instância de e subclasse de . Instância de implica que o sujeito da reivindicação é uma instância, ou seja, um indivíduo que é membro de uma classe. A subclasse de implica que o assunto é uma classe. No contexto de instância de e subclasse de , a principal diferença entre metaclasses e classes comuns é que as metaclasses são o objeto de instância de reivindicações usadas em uma classe, enquanto as classes comuns não são objetos de tais reivindicações. (por exemplo, em uma afirmação , Bob é o sujeito e uma Instância, enquanto o objeto, Humano, é uma classe comum; mas uma outra afirmação que torna "espécie animal" uma metaclasse porque tem um membro, "Humano", que também é uma aula). Bob instance of HumanHuman instance of Animal species

O OWL 2 DL oferece suporte a metaclasses por um recurso chamado trocadilho , no qual uma entidade é interpretada como dois tipos diferentes de coisas - uma classe e um indivíduo - dependendo de seu contexto sintático. Por exemplo, através punning, uma ontologia poderia ter uma hierarquia de conceitos, tais como , e . Nesse caso, a entidade trocada seria águia dourada, pois é representada como uma classe (segunda reivindicação) e uma instância (terceira reivindicação); enquanto a metaclasse seria espécie, pois tem uma instância que é uma classe. Punning também permite que outras propriedades que seriam aplicáveis ​​apenas a instâncias ordinárias sejam usadas diretamente nas classes, por exemplo, " status de conservação da águia dourada menos preocupante ". Harry the eagle instance of golden eaglegolden eagle subclass of birdgolden eagle instance of species

Tendo surgido dos campos de representação do conhecimento , lógica de descrição e ontologia formal , as linguagens da Web Semântica têm uma relação mais próxima com a ontologia filosófica do que as linguagens de programação convencionais, como Java ou Python . Conseqüentemente, a natureza das metaclasses é informada por noções filosóficas como objetos abstratos , o abstrato e o concreto , e a distinção tipo-símbolo . As metaclasses permitem que os conceitos sejam interpretados como símbolos de outros conceitos, enquanto retêm seu status ontológico como tipos. Isso permite que os tipos sejam enumerados, ao mesmo tempo que preserva a capacidade de herdar dos tipos. Por exemplo, as metaclasses podem permitir que um raciocinador de máquina inferir de uma ontologia amigável ao ser humano quantos elementos estão na tabela periódica ou, dado que o número de prótons é uma propriedade do elemento químico e os isótopos são uma subclasse de elementos, quantos prótons existem no isótopo hidrogênio-2 .

As metaclasses às vezes são organizadas por níveis, de maneira semelhante à simples teoria dos tipos, onde classes que não são metaclasses são atribuídas ao primeiro nível, classes de classes do primeiro nível estão no segundo nível, classes de classes do segundo nível em o próximo e assim por diante.

Exemplos

Seguindo a distinção entre tipos e símbolos , objetos do mundo real, como Abraham Lincoln ou o planeta Marte, são reagrupados em classes de objetos semelhantes. Abraham Lincoln é considerado uma instância de humano e Marte é uma instância de planeta. Este é um tipo de relacionamento é-um . Metaclasses são classes de classes, como por exemplo o conceito de nuclídeo . Na química, os átomos são frequentemente classificados como elementos e, mais especificamente, isótopos . O copo de água que bebemos pela última vez tem muitos átomos de hidrogênio, cada um dos quais é uma instância de hidrogênio . O próprio hidrogênio , uma classe de átomos, é um exemplo de nuclídeo . Nuclídeo é uma classe de classes, portanto, uma metaclasse.

Implementações

RDF e RDFS

Em RDF , a propriedade rdf: type é usada para indicar que um recurso é uma instância de uma classe. Isso permite que metaclasses sejam facilmente criadas usando rdf: type em forma de cadeia. Por exemplo, nos dois triplos

Harry the eagle rdf:type golden eagle
golden eagle rdf:type species

a espécie de recurso é uma metaclasse, porque águia dourada é usada como uma classe na primeira instrução e a classe águia dourada é considerada uma instância da classe espécie na segunda instrução.

O RDF também fornece rdf: Property como uma forma de criar propriedades além daquelas definidas no vocabulário integrado. Propriedades podem ser usadas diretamente em metaclasses, por exemplo " quantidade de espécies 8,7 milhões ", onde quantidade é uma propriedade definida via rdf: Propriedade e espécie é uma metaclasse conforme o exemplo anterior acima.

RDFS , uma extensão do RDF, introduziu rdfs: Class e rdfs: subClassOf e enriqueceu como os vocabulários podem classificar conceitos. Enquanto rdf: type permite que os vocabulários representem a instanciação , a propriedade rdfs: subClassOf permite que os vocabulários representem a subsunção . O RDFS, portanto, possibilita que os vocabulários representem taxonomias , também conhecidas como hierarquias de subsunção ou hierarquias de conceito, o que é um acréscimo importante à distinção de tipo-token possibilitada pelo RDF.

Notavelmente, o recurso rdfs: Class é uma instância de si mesmo, demonstrando o uso de metaclasses na implementação interna da linguagem e um uso reflexivo de rdf: type . RDFS é seu próprio metamodelo

CORUJA

Em alguns tipos de OWL como OWL1 -DL, as entidades podem ser classes ou instâncias, mas não podem ser ambas. Esta limitação proíbe metaclasses e metamodelagem . Este não é o caso na versão completa OWL1, mas permite que o modelo seja computacionalmente indecidível. No OWL2 , as metaclasses podem ser implementadas com trocadilhos , que é uma forma de tratar as classes como se fossem indivíduos. Outras abordagens também foram propostas e usadas para verificar as propriedades das ontologias em um nível meta.

Trocadilhos

O OWL 2 oferece suporte a metaclasses por meio de um recurso chamado trocadilho . Em metaclasses implementadas por trocadilho, o mesmo assunto é interpretado como dois tipos fundamentalmente diferentes de coisas - uma classe e um indivíduo - dependendo de seu contexto sintático. Isso é semelhante a um trocadilho em linguagem natural, em que diferentes sentidos da mesma palavra são enfatizados para ilustrar um ponto. Ao contrário da linguagem natural, onde os trocadilhos são normalmente usados ​​para efeitos cômicos ou retóricos, o objetivo principal dos trocadilhos nas tecnologias da Web Semântica é tornar os conceitos mais fáceis de representar, mais próximos de como são discutidos na fala cotidiana ou na literatura acadêmica.

Protégé

No editor de ontologias Protégé , as metaclasses são modelos para outras classes que são suas instâncias.

Classificação Metaclasse

um exemplo de ontologia com uma primeira ordem de metaclasse: a classificação de alguns átomos químicos

Algumas ontologias, como a ontologia do projeto Cyc AI, classificam as próprias classes e meta-classes em suas ontologias. As classes são divididas em "classes de ordem fixa" e "classes de ordem variável". No caso do primeiro, uma ordem é atribuída para metaclasses medindo a distância aos indivíduos com relação ao número de "instâncias de" triplas que são necessárias para encontrar um indivíduo. As classes que não são metaclasses são classes de indivíduos, portanto, sua ordem é "1". As metaclasses que são classes de primeira ordem são "2" e assim por diante. As metaclasses de ordem variável, por outro lado, podem ter instâncias. Um exemplo de metaclasse de ordem variável é a classe de todas as classes de ordem fixa.


Veja também

Referências