A seguir serão apresentadas as linguagens usadas especialmente em ambientes Web, tendo impacto principal sobre aplicações da Web Semântica. A linguagem SHOE tem sua sintaxe baseada em HTML, todas as demais linguagens listadas abaixo, possuem sintaxe baseada em XML e são adotadas como linguagens padrão para troca de informações na Web.
3.4.3.2.1.SHOE
A linguagem Simple HTML Ontology Extensions (SHOE) [102] é uma extensão do HTML, compatível com XML, criada para incorporar conteúdo com informação semântica legível pelas máquinas e nos do- cumentos encontrados na Web através de anotações em páginas HTML.
A linguagem SHOE inclui um mecanismo de definição de onto- logias, instâncias de dados em páginas Web e de classificação hierárqui- ca de documentos HTML. Isto é feito a partir de classes e regras de restrições que especificam relacionamentos e hierarquias entre instân- cias, a partir de um conjunto de tags acrescidos ao HTML padrão. SHOE dispõe de primitivas de modelagem tanto para especificar quanto para entender ontologias. Cada página declara quais ontologias são utili- zadas, o que torna possível a realização de buscas mais inteligentes. SHOE permite a representação de categorias (classes), relações n-árias, regras de inferências e regras para a especificação das ontologias [103]. 3.4.3.2.2.XOL
A Ontology Exchange Language (XOL) [104] foi desenvolvida pelo SRI International (Stanford Research Institute), criada inicialmente para intercambiar ontologias na área de bioinformática. Foi realizado um estudo que concluiu que nenhuma ontologia existente satisfazia as exi- gências da área da bioinformática. O grupo precisava de uma linguagem semântica que fosse orientada a objetos para representar o conhecimento e que tivesse uma sintaxe XML.
3.4.3.2.3.OML
Ontology Markup Language (OML) é uma linguagem de especi- ficação de ontologias baseada em lógica descritiva e grafos conceituais. A OML permite a representação de conceitos organizados em taxono- mias, relações e axiomas em lógica de primeira ordem. [105].
3.4.3.2.4.OIL
A Ontology Inference Layer (OIL) é uma linguagem que teve o- rigem no projeto On-To-Knowledge. Foi criada com o objetivo de repre- sentar e intercambiar ontologias. É compatível com os padrões do W3C, inclui XML, RDF e as primitivas de modelagem de RDFSchema. As aplicações que suportam apenas RDF podem entender, pelo menos par- cialmente, um documento OIL. A especificação completa dessa lingua- gem pode ser consultada em [106]. A OIL é estruturada através de três tecnologias, segundo [72]:
• Lógica descritiva: provê suporte eficiente para raciocínio e se- mântica formal;
• Sistema Baseados em Frames: usa primitivas definidas pela OKBC (Open Knowledge Base Connectivity);
• Linguagens da Web: relaciona dados semi-estruturados e os pa- drões do modelo RDF para integração e troca de informações. Para a criação de ontologias, a OIL provê definições para classes e slots e um conjunto limitado de axiomas e as ontologias são descritas através de três camadas [107]:
• Nível de objeto: para instâncias concretas; • Primeiro meta nível: para definições ontológicas;
• Segundo meta nível: para descrever as características da onto- logia.
3.4.3.2.5.DAML+OIL
As linguagens OIL e DAML deram origem à linguagem DA- ML+OIL, uma nova proposta do consórcio W3C, para servir como pon- to de partida para as atividades da Web Semântica quanto à definição da Ontology Web Language (OWL), para a representação de ontologias e metadados e que inclui inúmeras construções novas (primitivas para a Web Semântica), que aumentaram bastante o poder da linguagem [72].
A criação da DAML+OIL foi motivada pelo fato da XML não conseguir expressar as relações existentes entre os conceitos representa- dos nos seus documentos. Através da união das linguagens DAML e OIL, surge a DAML+OIL [108]. A mesma foi desenvolvida em con- formidade com os padrões de linguagens estabelecidos pela W3C pelo US-American/European Committee no contexto da DAML, um projeto da DARPA (Defense Advanced Research Project Agency).
Existem várias diferenças entre as linguagens OIL e DA- ML+OIL. Elas existem principalmente devido ao fato de que DA- ML+OIL foi baseada em RDF. Assim, algumas construções em RDF são possíveis em DAML+OIL, mas não em OIL. A DAML+OIL provê primitivas de modelagens mais ricas, comumente encontradas na lógica descritiva [103].
As idéias das partes baseadas em frames da OIL foram retiradas e as asserções (afirmações) são feitas em termos de um conjunto limitado de axiomas. Como resultado a linguagem trabalha melhor como uma plataforma para entrega de ontologias que o RDF, mas tem limitações como uma linguagem para o desenvolvimento de ontologias, por causa da remoção das construções baseadas em frames [103].
A DAML+OIL substitui a OIL e acrescenta algumas característi- cas [72]:
• Introduz os tipos de dados do XML Schema tais como inteiros, cadeias (strings) e reais. Propriedades são diferenciadas em du- as classes disjuntas: propriedades do objeto (object properties) cujo valor é uma instância de uma classe e propriedades de tipo de dados (data-type properties), cujo valor é uma instância dos tipos de dados do XML Schema;
• A possibilidade de importar explicitamente outra ontologia DAML+OIL, contendo definições que se aplicam à ontologia DAML+OIL atual;
• Definir enumerações.
Segundo descrito em [72] a DAML+OIL usa a sintaxe da RDF, é considerada como uma extensão de RDF Schema, devido ao acréscimo de propriedades de OIL.
As principais características da DAML+OIL estão descritas em [109] e [110]. Entretanto, por basear-se no RDS Schema alguns aspectos de semântica não puderam ser reconciliados com o DAML+OIL. Tam- bém falta ao DAML+OIL uma teoria padrão para inferências, sendo então definida a linguagem OWL.
3.4.3.2.6.OWL
A Web Ontology Language é a linguagem que foi criada pelo grupo de trabalho Web-Ontology da W3C, com o objetivo de construir uma nova linguagem de marcação de ontologias para a Web Semântica. Ela é baseada nas linguagens OIL e DALM-OIL e desde fevereiro de 2004 é a considerada a linguagem padrão para especificação de ontolo- gia segundo a W3C [110].
A OWL permite descrever conceitos de um domínio de aplicação e a relação entre conceitos através de vários conjuntos de operadores. É baseada em modelo de lógica que torna possível que os conceitos sejam descritos e bem definidos e permite que motores de inferência verifi- quem se as declarações e as definições da ontologia são mutuamente consistentes e ajuda manter a hierarquia corretamente.
A OWL provê mais facilidades para expressar significados e se- mântica, superando XML, RDF e também RDFS em razão de fornecer vocabulário adicional com uma semântica formal [111]. Tais facilidades ocorrem pelo motivo da OWL utilizar uma lógica explícita para a lin- guagem. Essa lógica é baseada em Lógicas de Descrição, que consistem
de uma família de lógicas que são fragmentos, descendentes da lógica de primeira ordem.
Para atender aos requisitos da linguagem, descritos em profundi- dade por [112], foram criadas três linguagens, de acordo com sua ex- pressividade [113]:
OWL Lite: abrange a expressividade de frames e lógica de descri- ção com algumas restrições. Por exemplo, a cardinalidade máxima ou mínima assume apenas os valores 0 ou 1. Apesar disso, a linguagem é dotada de riqueza semântica, sendo, por isto, ideal para usuários inician- tes e desenvolvedores que preferem frames à lógica de descrição. Traba- lha hierarquia de classes e simples restrições.
OWL DL: garante completude, decidibilidade e toda a expressivi- dade da lógica de descrições, almejando satisfazer engenheiros de co- nhecimento familiarizados com esta tecnologia. Classes podem ser cons- truídas por união, interseção e complemento, pela enumeração de ins- tâncias e podem ter disjunções. Tipos são mantidos cuidadosamente separados (por exemplo, uma classe não pode ser instância e proprieda- de ao mesmo tempo).
OWL Full: fornece a expressividade de OWL e a liberdade de u- sar RDF, inclusive permitindo novas metaclasses, já que elas são sub- classes definidas em RDF Schema. Fazendo uso mais complexo, não há garantia de computabilidade com isso, há dificuldade de implementar software de “raciocínio” e inferência.
Uma ontologia criada em OWL é composta por três componen- tes:
• Classes: equivalente a uma concreta representação de termos.
Além disso, elas representam um conjunto de indivíduos;
• Propriedades: equivalente a relações binárias individuais;
• Indivíduos: representam objetos em um domínio particular que
foi formalizado e é referenciado como instâncias de classes. A linguagem OWL é construída sobre o RDF e RDF Schema e u- tiliza a sintaxe baseada em RDF/XML. Como o RDF/XML não tem uma sintaxe legível, outras formas sintáticas foram definidas [72]:
• Uma sintaxe baseada em XML que não segue as convenções do RDF e é mais legível por humanos;
• Uma sintaxe abstrata mais compacta e legível que a sintaxe XML ou a sintaxe RDF/XML;
• Uma sintaxe gráfica baseada nas convenções do UML (Unified Modeling Language).