A Web Semântica é um esforço colaborativo liderado pelo World Wide Web Consortium (W3C), com a participação de pesquisadores da academia e da indústria de computação. O objetivo da Web Semântica é melhorar as potencialidades da web através da criação de padrões e ferramentas que permitam atribuir significado ao conteúdo das páginas web e, também possibilitar que usuários e programas possam trabalhar de forma cooperativa.
Nessa contexto um conjunto de padrões estão sendo especificados para a identificação de recursos na web, assim como para a representação sintática, estrutural, semântica e lógica de informações referentes a esses recursos. Esse conjunto de padrões forma as diversas camadas em que se divide a Arquitetura da Web Semântica.
A camada denomindada Unicode / URI fornece a interoperabilidade em relação à codificação de caracteres e ao endereçamento e nomeação de recursos da Web Semântica. O Unicode é um padrão de codificação para fornecer uma representação numérica universal e sem ambigüidade para cada caractere de maneira independente da plataforma de software e do idioma. O URI é um padrão para identificar um recurso físico ou abstrato de maneira única e global. Um identificador URL é um caso específico de URI, formado pela concatenação de seqüências de caracteres para identificar o protocolo de acesso ao recurso, o endereço da máquina na qual o recurso pode ser encontrado e o próprio recurso em questão.
A camada denominada de XML / Namespace / XML Schema fornece a interoperabilidade em relação à sintaxe de descrição de recursos da Web Semântica. A Extensible Markup Language (XML) é uma linguagem para representação sintática de recursos de maneira independente de plataforma. Os documentos que tem sua estrutura e conteúdo representados na linguagem XML são denominados de documentos XML. A XML Schema é uma linguagem de definição para descrever uma gramática (ou esquema) para uma classe de documentos XML. A linguagem XML Schema fornece elementos para descrever a estrutura e restringir o conteúdo de documentos XML. Os espaços de nomes (namespaces) fornecem um método para qualificar os nomes de elementos e atributos, utilizados nos documentos XML, através da associação destes nomes com os espaços de nomes identificados por referências de URI. Os espaços de nomes são úteis para distinguir entre dois elementos definidos com um mesmo nome, mas que pertencem a esquemas diferentes. Alem disso, um documento pode associar elementos previamente definidos à sua estrutura, desde que utilize referencias aos esquemas que definem esses elementos.
A camada denominada RDF / RDF Schema fornece um framework para representar informação (metadados) sobre recursos. As principais especificações do Resource Description Framework (RDF) abrangem um modelo de dados (para expressar declarações sobre os recursos), uma sintaxe baseada na Extensible Markup Language (XML) (para o intercâmbio das declarações) e uma linguagem de definição de esquemas para vocabulários.
A RDF fornece um modelo de dados fundamentado na idéia de expressar declarações simples sobre recursos; cada declaração consiste de uma tripla (sujeito, predicado, objeto). Por exemplo na declaração: “a data de criação da página http://www.ufpa.br/index.html é 06/08/2000”
Sujeito : “http://www.ufpa.br/index.html”
Predicado : “data de criação”
Objeto : “06/08/2000”
Um conjunto de triplas (ou declarações) é chamado de grafo RFD, que pode ser ilustrado como um diagrama de nós e arcos orientados, no qual cada tripla é representada como uma ligação nó-arco-nó. O RDF fornece uma sintaxe baseada na linguagem XML, denominada de RDF / XML, para realizar o intercâmbio desses grafos.
Alem do modelo e da sintaxe, a RDF também fornece uma linguagem, denominada RDF / Schema, para a definição de esquemas para os vocabulários (termos) utilizados nas declarações. A RDF-Schema estende a especificação básica do RDF para permitir a definição de vocabulários. Assim, o RDF-Schema é uma linguagem mínima para a representação de Ontologias simples. Basicamente, essa linguagem fornece o suporte necessário para descrever classes e propriedades, e também para indicar quais propriedades são utilizadas para a descrição de uma classe.
A camada denominada de Ontologia fornece suporte para a evolução de vocabulários e para processar e integrar a informação existente sem problemas de indefinição ou conflito de terminologia. A linguagem RDF-Schema permite a construção de ontologias com expressividade e inferência limitadas, pois fornece um conjunto básico de elementos para a modelagem, e poucos desses elementos podem ser utilizados para inferência. A Web Ontology Language (OWL) estende o vocabulário da RDF Schema para a inclusão de elementos com maior poder com relação a expressividade e inferência. Alem disso, a linguagem OWL fornece três módulos (ou dialetos), OWL Lite, OWL DL e OWL Full, para permitir o uso da linguagem por aplicações com diferentes requisitos de expressividade e inferência. O desenvolvedor pode escolher o módulo OWL adequado, de acordo com os requisitos da sua aplicação.
A camada denominada Lógica fornece suporte para a descrição de regras para expressar relações sobre os conceitos de uma ontologia, as quais não podem ser expressas com a linguagem de ontologia utilizada. As linguagens Rule Markup Language (RuleML) e Semantic Web Rule Language (SWRL) são exemplos de linguagens propostas para a descrição de regras para a Web Semântica. Nesse sentido, o W3C iniciou o trabalho sobre o Rule Interchange Format (RIF) para fornecer suporte ao intercâmbio das diversas tecnologias baseadas em regras.
As camadas denominadas de Prova e Confiança fornecem o suporte para a execução das regras, alem de avaliar a correção e a confiabilidade dessa execução. Essas camadas ainda estão em desenvolvimento e dependem da maturidade das camadas inferiores.