Linguagem de Ontologia da Web - Web Ontology Language

OWL Web Ontology Language
Status Publicados
Ano começou 2004
Editores Mike Dean ( BBN Technologies ), Guus Schreiber
Padrões básicos Estrutura de descrição de recursos , RDFS
Domínio Web Semântica
Abreviação CORUJA
Local na rede Internet Referência OWL
OWL 2 Web Ontology Language
Status Publicados
Ano começou 2009
Editores Grupo de Trabalho W3C OWL
Padrões básicos Estrutura de descrição de recursos, RDFS
Domínio Web Semântica
Abreviação OWL 2
Local na rede Internet Visão geral do OWL 2

A Web Ontology Language ( OWL ) é uma família de linguagens de representação de conhecimento para a criação de ontologias . Ontologias são uma forma formal de descrever taxonomias e redes de classificação, definindo essencialmente a estrutura do conhecimento para vários domínios: os substantivos que representam classes de objetos e os verbos que representam as relações entre os objetos.

Ontologias se assemelham a hierarquias de classes na programação orientada a objetos, mas existem várias diferenças críticas. As hierarquias de classes devem representar estruturas usadas no código-fonte que evoluem bastante lentamente (talvez com revisões mensais), enquanto as ontologias devem representar informações na Internet e devem estar evoluindo quase constantemente. Da mesma forma, as ontologias são normalmente muito mais flexíveis, pois se destinam a representar informações na Internet provenientes de todos os tipos de fontes de dados heterogêneas. As hierarquias de classes, por outro lado, tendem a ser bastante estáticas e dependem de fontes de dados muito menos diversificadas e mais estruturadas, como bancos de dados corporativos.

As linguagens OWL são caracterizadas por semânticas formais . Eles são construídos sobre o padrão XML do World Wide Web Consortium (W3C) para objetos chamados Resource Description Framework (RDF). OWL e RDF têm atraído um interesse acadêmico, médico e comercial significativo.

Em outubro de 2007, um novo grupo de trabalho do W3C foi iniciado para estender o OWL com vários novos recursos, conforme proposto na submissão de membros do OWL 1.1. O W3C anunciou a nova versão do OWL em 27 de outubro de 2009. Esta nova versão, chamada OWL 2, logo encontrou seu caminho para editores semânticos como Protégé e raciocinadores semânticos como Pellet, RacerPro, FaCT ++ e HermiT.

A família OWL contém muitas espécies, serializações, sintaxes e especificações com nomes semelhantes. OWL e OWL2 são usados ​​para se referir às especificações de 2004 e 2009, respectivamente. Nomes completos das espécies serão usados, incluindo a versão da especificação (por exemplo, OWL2 EL). Ao fazer referência de forma mais geral, a família OWL será usada.

História

Linguagens de ontologia precoce

Existe uma longa história de desenvolvimento ontológico em filosofia e ciência da computação. Desde a década de 1990, uma série de esforços de pesquisa explorou como a ideia de representação do conhecimento (KR) da inteligência artificial (IA) poderia se tornar útil na World Wide Web. Estas incluíam linguagens baseadas em HTML (chamadas SHOE ), baseadas em XML (chamadas XOL, mais tarde OIL ), e várias linguagens KR baseadas em frames e abordagens de aquisição de conhecimento.

Linguagens de ontologia para a web

Em 2000, nos Estados Unidos, a DARPA iniciou o desenvolvimento do DAML liderado por James Hendler . Em março de 2001, o Comitê Conjunto UE / EUA sobre Línguas de Marcação de Agente decidiu que o DAML deveria ser fundido com o OIL. O Grupo de Trabalho Conjunto ad hoc UE ​​/ EUA sobre linguagens de marcação de agente foi convocado para desenvolver DAML + OIL como uma linguagem de ontologia da web. Este grupo foi financiado conjuntamente pelo DARPA (no âmbito do programa DAML) e pelo projeto de financiamento de Tecnologias da Sociedade da Informação (IST) da União Europeia . DAML + OIL foi planejado para ser uma camada fina acima do RDFS , com semântica formal baseada em uma lógica de descrição (DL).

DAML + OIL é uma influência particularmente importante em OWL; O design do OWL foi especificamente baseado em DAML + OIL.

Padrões da web semântica

A Semantic Web fornece uma estrutura comum que permite que os dados sejam compartilhados e reutilizados entre aplicativos, empresas e limites da comunidade.

-  World Wide Web Consortium, W3C Semantic Web Activity

Esquema RDF

uma linguagem de representação declarativa influenciada por ideias de representação de conhecimento

-  World Wide Web Consortium, atividade de metadados

No final da década de 1990, a Atividade de Metadados do World Wide Web Consortium (W3C) começou a trabalhar no RDF Schema (RDFS), uma linguagem para compartilhamento de vocabulário RDF . O RDF tornou-se uma recomendação do W3C em fevereiro de 1999, e o RDFS, uma recomendação candidata em março de 2000. Em fevereiro de 2001, a atividade da web semântica substituiu a atividade de metadados. Em 2004 (como parte de uma revisão mais ampla do RDF), o RDFS tornou-se uma recomendação do W3C. Embora o RDFS forneça algum suporte para a especificação de ontologias, a necessidade de uma linguagem de ontologia mais expressiva tornou-se clara.

Grupo de Trabalho Web-Ontologia

A partir de segunda-feira, dia 31 de maio, nosso grupo de trabalho estará oficialmente encerrado. Alcançamos tudo o que fomos autorizados a fazer e acredito que nosso trabalho está sendo muito bem apreciado.

-  James Hendler e Guus Schreiber, Grupo de Trabalho de Ontologia da Web: Conclusões e Trabalho Futuro

O World Wide Web Consortium (W3C) criou o Grupo de Trabalho de Ontologia da Web como parte de sua Atividade de Web Semântica. O trabalho começou em 1º de novembro de 2001 com os co-presidentes James Hendler e Guus Schreiber. Os primeiros rascunhos de trabalho da sintaxe abstrata , referência e sinopse foram publicados em julho de 2002. OWL tornou-se uma recomendação formal do W3C em 10 de fevereiro de 2004 e o grupo de trabalho foi dissolvido em 31 de maio de 2004.

Grupo de Trabalho OWL

Em 2005, no OWL Experiences And Directions Workshop, formou-se um consenso de que avanços recentes na lógica de descrição permitiriam uma revisão mais expressiva para satisfazer os requisitos do usuário de forma mais abrangente, mantendo boas propriedades computacionais. Em dezembro de 2006, a Proposta de Membro OWL1.1 foi feita ao W3C. O W3C fundou o OWL Working Group como parte da Semantic Web Activity em setembro de 2007. Em abril de 2008, esse grupo decidiu chamar essa nova linguagem de OWL2, indicando uma revisão substancial.

O OWL 2 tornou-se uma recomendação do W3C em outubro de 2009. OWL 2 apresenta perfis para melhorar a escalabilidade em aplicativos típicos.

Acrônimo

Por que não ser inconsistente em pelo menos um aspecto de uma linguagem que tem tudo a ver com consistência?

-  Guus Schreiber, Por que OWL e não WOL?

OWL foi escolhido como um acrônimo facilmente pronunciado que iria render bons logos, sugerem sabedoria e honra William A. Martin 's One World Language projeto representação do conhecimento a partir de 1970.

Adoção

Uma pesquisa de 2006 de ontologias disponíveis na web coletou 688 ontologias OWL. Destes, 199 eram OWL Lite, 149 eram OWL DL e 337 OWL Full (por sintaxe). Eles descobriram que 19 ontologias tinham mais de 2.000 classes e que 6 tinham mais de 10.000. A mesma pesquisa coletou 587 vocabulários RDFS.

Ontologias

Uma ontologia é uma especificação explícita de uma conceituação.

-  Tom Gruber , Uma abordagem de tradução para especificações de ontologia portátil

Os dados descritos por uma ontologia da família OWL são interpretados como um conjunto de "indivíduos" e um conjunto de "afirmações de propriedade" que relacionam esses indivíduos entre si. Uma ontologia consiste em um conjunto de axiomas que colocam restrições em conjuntos de indivíduos (chamados de "classes") e os tipos de relacionamentos permitidos entre eles. Esses axiomas fornecem semântica, permitindo que os sistemas deduzam informações adicionais com base nos dados fornecidos explicitamente. Uma introdução completa ao poder expressivo do OWL é fornecida no Guia OWL do W3C .

Ontologias OWL podem importar outras ontologias, adicionando informações da ontologia importada à ontologia atual.

Exemplo

Uma ontologia que descreve famílias pode incluir axiomas afirmando que uma propriedade "hasMother" está presente apenas entre dois indivíduos quando "hasParent" também está presente e que os indivíduos da classe "HasTypeOBlood" nunca são relacionados por meio de "hasParent" a membros de "HasTypeABBlood" classe. Se for declarado que a Harriet individual está relacionada por meio de "hasMother" à Sue individual e que Harriet é membro da classe "HasTypeOBlood", então pode-se inferir que Sue não é membro de "HasTypeABBlood". No entanto, isso só é verdade se os conceitos de "Pai" e "Mãe" significam apenas pai ou mãe biológica e não pai ou mãe social.

Espécies

Dialetos OWL

A especificação OWL endossada pelo W3C inclui a definição de três variantes de OWL, com diferentes níveis de expressividade. São eles OWL Lite, OWL DL e OWL Full (ordenados por expressividade crescente). Cada uma dessas sublinguagens é uma extensão sintática de seu predecessor mais simples. O seguinte conjunto de relações é válido. Seus inversos não.

  • Cada ontologia legal OWL Lite é uma ontologia legal OWL DL.
  • Toda ontologia legal OWL DL é uma ontologia legal OWL Full.
  • Cada conclusão OWL Lite válida é uma conclusão OWL DL válida.
  • Cada conclusão válida do OWL DL é uma conclusão válida do OWL Full.

OWL Lite

O OWL Lite foi originalmente planejado para oferecer suporte aos usuários que precisam principalmente de uma hierarquia de classificação e restrições simples. Por exemplo, embora suporte restrições de cardinalidade , ele só permite valores de cardinalidade de 0 ou 1. Esperava-se que fosse mais simples fornecer suporte de ferramenta para OWL Lite do que seus parentes mais expressivos, permitindo um caminho de migração rápida para sistemas usando tesauros e outros taxonomias . Na prática, no entanto, a maioria das restrições de expressividade colocadas em OWL Lite equivalem a pouco mais do que inconveniências sintáticas: a maioria das construções disponíveis em OWL DL pode ser construída usando combinações complexas de recursos OWL Lite e é igualmente expressiva como a lógica de descrição . O desenvolvimento de ferramentas OWL Lite provou ser quase tão difícil quanto o desenvolvimento de ferramentas OWL DL, e OWL Lite não é amplamente utilizado.

OWL DL

OWL DL é projetado para fornecer o máximo de expressividade possível, mantendo a integridade computacional (ou φ ou ¬φ mantém), decidibilidade (há um procedimento eficaz para determinar se φ é derivável ou não) e a disponibilidade de algoritmos de raciocínio prático. OWL DL inclui todas as construções de linguagem OWL, mas eles podem ser usados ​​apenas sob certas restrições (por exemplo, as restrições de número não podem ser colocadas em propriedades que são declaradas como transitivas; e enquanto uma classe pode ser uma subclasse de muitas classes, uma classe não pode ser uma instância de outra classe). OWL DL tem esse nome devido à sua correspondência com a lógica descritiva , um campo de pesquisa que estudou as lógicas que formam a base formal do OWL.

OWL Full

O OWL Full é baseado em uma semântica diferente do OWL Lite ou OWL DL e foi projetado para preservar alguma compatibilidade com o Esquema RDF. Por exemplo, em OWL Full, uma classe pode ser tratada simultaneamente como uma coleção de indivíduos e como um indivíduo em seu próprio direito; isso não é permitido em OWL DL. O OWL Full permite que uma ontologia aumente o significado do vocabulário predefinido (RDF ou OWL). OWL Full é indecidível, portanto, nenhum software de raciocínio é capaz de realizar o raciocínio completo para ele.

Perfis OWL2

Em OWL 2, existem três sublinguagens da língua. OWL 2 EL é um fragmento que possui complexidade de raciocínio em tempo polinomial; O OWL 2 QL foi projetado para permitir acesso e consulta mais fáceis aos dados armazenados em bancos de dados; OWL 2 RL é um subconjunto de regras de OWL 2.

Sintaxe

A família de linguagens OWL oferece suporte a uma variedade de sintaxes. É útil distinguir as sintaxes de alto nível destinadas à especificação das sintaxes de troca mais adequadas para uso geral.

Alto nível

Eles estão próximos da estrutura de ontologia das linguagens da família OWL.

Sintaxe abstrata OWL

A sintaxe de alto nível é usada para especificar a estrutura e semântica da ontologia OWL.

A sintaxe abstrata OWL apresenta uma ontologia como uma sequência de anotações , axiomas e fatos . As anotações carregam metadados orientados por máquina e humanos. As informações sobre as classes, propriedades e indivíduos que compõem a ontologia estão contidas apenas em axiomas e fatos. Cada classe, propriedade e indivíduo são anônimos ou identificados por uma referência de URI . Os fatos indicam dados sobre um indivíduo ou sobre um par de identificadores individuais (que os objetos identificados são distintos ou iguais). Os axiomas especificam as características das classes e propriedades. Este estilo é semelhante às linguagens de quadro e bastante diferente das sintaxes bem conhecidas para DLs e Resource Description Framework (RDF).

Sean Bechhofer, et al. argumentam que, embora essa sintaxe seja difícil de analisar, ela é bastante concreta. Eles concluem que a sintaxe abstrata do nome pode ser um tanto enganosa.

Sintaxe funcional OWL2

Essa sintaxe segue de perto a estrutura de uma ontologia OWL2. É usado pelo OWL2 para especificar semânticas, mapeamentos para trocar sintaxes e perfis.

Sintaxes de troca

Serialização OWL RDF / XML
XML.svg
Extensão de nome de arquivo
.owx, .owl, .rdf
Tipo de mídia da Internet
aplicativo / coruja + xml, aplicativo / rdf + xml
Desenvolvido por World Wide Web Consortium
Padrão OWL 2 XML Serialization 27 de outubro de 2009 ; 11 anos atrás , OWL Reference 10 de fevereiro de 2004 ; 17 anos atrás ( 27/10/2009 )
 ( 2004-02-10 )
Formato aberto ? sim

Sintaxes RDF

Os mapeamentos sintáticos em RDF são especificados para linguagens da família OWL. Vários formatos de serialização RDF foram desenvolvidos. Cada um leva a uma sintaxe para linguagens da família OWL por meio desse mapeamento. RDF / XML é normativo.

Sintaxe XML OWL2

OWL2 especifica uma serialização XML que modela de perto a estrutura de uma ontologia OWL2.

Sintaxe de Manchester

A sintaxe Manchester é uma sintaxe compacta legível por humanos com um estilo próximo às linguagens de quadro. Variações estão disponíveis para OWL e OWL2. Nem todas as ontologias OWL e OWL2 podem ser expressas nesta sintaxe.

Exemplos

  • O W3C OWL 2 Web Ontology Language fornece exemplos de sintaxe.

Ontologia do chá

Considere uma ontologia para chá baseada em uma aula de chá. Primeiro, um identificador de ontologia é necessário. Cada ontologia OWL deve ser identificada por um URI (http://www.example.org/tea.owl, digamos). Este exemplo fornece uma noção da sintaxe. Para economizar espaço abaixo, as definições de preâmbulos e prefixos foram ignoradas.

Sintaxe funcional OWL2
Ontology(<http://example.org/tea.owl>
  Declaration( Class( :Tea ) )
)
Sintaxe XML OWL2
 <Ontology ontologyIRI="http://example.org/tea.owl" ...>
   <Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
   <Declaration>
     <Class IRI="Tea"/>
   </Declaration>
 </Ontology>
Sintaxe de Manchester
Ontology: <http://example.org/tea.owl>
Class: Tea
Sintaxe RDF / XML
<rdf:RDF ...>
    <owl:Ontology rdf:about=""/>
    <owl:Class rdf:about="#Tea"/>
</rdf:RDF>
RDF / Tartaruga
 <http://example.org/tea.owl> rdf:type owl:Ontology .
 :Tea  rdf:type            owl:Class .

Semântica

Relação com a descrição lógica

As classes OWL correspondem aos conceitos de lógica de descrição (DL) , propriedades OWL para funções DL , enquanto os indivíduos são chamados da mesma forma tanto na terminologia OWL quanto na DL.

No início, o IS-A era bastante simples. Hoje, entretanto, existem quase tantos significados para esse elo de herança quanto sistemas de representação de conhecimento.

-  Ronald J. Brachman , O que IS-A é e não é

As primeiras tentativas de construir grandes ontologias foram prejudicadas pela falta de definições claras. Os membros da família OWL têm uma semântica formal teórica de modelo e, portanto, têm fortes fundamentos lógicos .

Lógicas de descrição são uma família de lógicas que são fragmentos decidíveis da lógica de primeira ordem com propriedades computacionais atraentes e bem compreendidas. As semânticas OWL DL e OWL Lite são baseadas em DLs. Eles combinam uma sintaxe para descrever e trocar ontologias e semântica formal que lhes dá significado. Por exemplo, OWL DL corresponde à lógica de descrição, enquanto OWL 2 corresponde à lógica. Raciocinadores sólidos e completos (isto é, sistemas que garantem derivar todas as consequências do conhecimento em uma ontologia) existem para essas DLs.

Relação com RDFS

O OWL Full se destina a ser compatível com RDF Schema (RDFS) e ser capaz de aumentar os significados do vocabulário existente do Resource Description Framework (RDF). Uma teoria do modelo descreve a semântica formal para RDF. Esta interpretação fornece o significado do vocabulário RDF e RDFS. Portanto, o significado das ontologias OWL Full são definidas pela extensão do significado de RDFS, e OWL Full é uma extensão semântica de RDF.

Assunção de mundo aberto

A suposição de mundo [fechado] implica que tudo o que não sabemos é falso , enquanto a suposição de mundo aberto afirma que tudo o que não sabemos é indefinido .

-  Stefano Mazzocchi, Closed World vs. Open World: the First Semantic Web Battle

As linguagens da família OWL usam o pressuposto de mundo aberto . Sob a suposição de mundo aberto, se uma afirmação não pode ser provada como verdadeira com o conhecimento atual, não podemos tirar a conclusão de que a afirmação é falsa.

Contraste com outras línguas

Um banco de dados relacional consiste em conjuntos de tuplas com os mesmos atributos . SQL é uma linguagem de consulta e gerenciamento de bancos de dados relacionais. Prolog é uma linguagem de programação lógica . Ambos usam o pressuposto do mundo fechado .

Terminologia

As linguagens da família OWL são capazes de criar classes, propriedades, definir instâncias e suas operações.

Instâncias

Uma instância é um objeto. Corresponde a uma descrição lógica individual .

Aulas

Uma classe é uma coleção de objetos. Uma classe pode conter indivíduos, instâncias da classe. Uma classe pode ter qualquer número de instâncias. Uma instância pode pertencer a nenhuma, uma ou mais classes.

Uma classe pode ser uma subclasse de outra, herdando características de sua superclasse pai . Isso corresponde à subsunção lógica e inclusão de conceito DL notada .

Todas as classes são subclasses de coruja: Thing (DL com notação superior ), a classe raiz .

Todas as classes são subclasses por coruja: Nothing (DL notado na parte inferior ), a classe vazia . Nenhuma instância é membro da coruja: nada. Modeladores usam coruja: Coisa e coruja: nada para afirmar fatos sobre todas ou nenhuma instância.

A classe e seus membros podem ser definidos em OWL por extensão ou por intensão . Um indivíduo pode ser explicitamente atribuído a uma classe por uma asserção de Classe , por exemplo, podemos adicionar uma declaração Queen Elizabeth é uma (n instância de) humano , ou por uma expressão de classe com declarações ClassExpression cada instância da classe humana que tem um valor feminino à propriedade sexual é uma instância da classe mulher .

Exemplo

Vamos chamar de humano a classe de todos os humanos no mundo é uma subclasse de coruja: coisa. A classe de todas as mulheres (digamos, mulheres ) no mundo é uma subclasse de humanos . Então nós temos

A adesão de algum indivíduo a uma classe pode ser observada

ClassAssertion( human George_Washington )

e inclusão de classe

SubClassOf( woman human ) 

O primeiro significa "George Washington é humano" e o segundo "toda mulher é humana".

Propriedades

Uma propriedade é uma característica de uma classe - uma relação binária direcionada que especifica algum atributo que é verdadeiro para instâncias daquela classe. As propriedades às vezes agem como valores de dados ou links para outras instâncias. As propriedades podem exibir características lógicas, por exemplo, por serem transitivas, simétricas, inversas e funcionais. As propriedades também podem ter domínios e intervalos.

Propriedades de tipo de dados

Propriedades de tipo de dados são relações entre instâncias de classes e literais RDF ou tipos de dados de esquema XML. Por exemplo, modelName (tipo de dados String) é a propriedade da classe Manufacturer. Eles são formulados usando o tipo owl: DatatypeProperty .

Propriedades do objeto

As propriedades do objeto são relações entre instâncias de duas classes. Por exemplo, ownBy pode ser uma propriedade de tipo de objeto da classe Vehicle e pode ter um intervalo que é a classe Person. Eles são formulados usando owl: ObjectProperty .

Operadores

As linguagens da família OWL oferecem suporte a várias operações em classes, como união , interseção e complemento . Eles também permitem enumeração de classe, cardinalidade , desconexão e equivalência .

Metaclasses

Metaclasses são classes de classes. Eles são permitidos em OWL completo ou com um recurso chamado trocadilho de classe / instância.

Ontologias públicas

Bibliotecas

Biomédica

Padrões

Navegadores

As seguintes ferramentas incluem navegadores públicos de ontologia:

Procurar

Limitações

  • Não há suporte de idioma direto para relacionamentos n-ários. Por exemplo, os modeladores podem desejar descrever as qualidades de uma relação, relacionar mais de 2 indivíduos ou relacionar um indivíduo a uma lista. Isso não pode ser feito no OWL. Eles podem precisar adotar um padrão que codifique o significado fora da semântica formal.

Veja também

Referências

Leitura adicional