Docente: Thiago P. da Silva Discentes: Antonio Gean, Murilo Campos, Jos Renato
Linguagens para representao de Ontologias DAML
Histria. Na ltima dcada foram confeccionadas uma srie de linguagens baseadas em inteligncia artificial, na maior parte com lgica de primeira ordem, essas linguagens foram e so utilizadas para representar ontologias, apesar de no ter sido esse o propsito de sua criao. RDF e RDF-SCHEMA so as bases para Web semntica. E ao longo do tempo foram propostas algumas linguagens para ontologias baseadas em RDF e principalmente em XML, DAML (DARPA agente Markup language) surge dessa proposta. Desenvolvida pela entidade americana DARPA em conjunto com o consrcio W3C, a DAML-ONT, surge atravs do RDF com objetivo de acrescentar representaes mais expressivas. O objetivo facilitar a interao de agentes de software autnomos da Web, foi desenvolvida para ter maior capacidade que XML, descrever e melhorar a interoperabilidade entre objetos OIL e DAML foram desenvolvidos na mesma poca. O projeto teve incio sendo gerenciado por James Hendle, e depois gerenciado por Murray Burke, Mark Greaves e Michaels Pagel. DAML era focado em representaes de mquina que pudessem ser usados para melhor compreenso na Web. O consrcio W3C publicou a linguagem como padro de representao de Web de contedo para web semntica.
Uso. O agente DAML pode ser embutido no cdigo e manter a conscincia de uso, ou seja ele tem a noo do ambiente em que vai ser usado, de uso dirigido, mas consegue se comportar de forma autnoma. Conseguem aprender com a experincia de uso, ou seja, ao longo do tempo os agentes DAML vo melhorando o seu comportamento baseado no seu uso. H uma gama de agentes DAML, agentes de informao de controle de ventos, segurana e etc. necessrio que o agente obtenha um grande conhecimento semntico para poder processar uma grande quantidade de dados, e claro ser capaz de processar e procurar uma grande quantidade de dados em diversos meios e relat-los. DAML contm um tipo de linguagem de consulta especializada em encontrar e processar informaes relevantes. O Padro DAML, capaz de dar resposta novas, baseando-se apenas no seu prprio padro, por ser um melhoramento de XML ele consegue prover melhor as pessoas com resposta, indo alm do que era feito em XML. DAML d um grau extra de autonomia que pode ajudar na tarefa de fazer um trabalho mais til para as pessoas, o objetivo sempre dar uma resposta alm das normas as pessoas. Um conjunto de declaraes em DAML pode por si mesmo concluir outras declaraes, explicitamente, que o contrrio do que ocorre com XML que precisa de vrios conjuntos implementados de cdigo processual para poder concluir algo. Supondo a seguinte declarao paternidade uma relao mais geral do que maternidade e usando isso em conformidade com DAML para concluir que Maria me de Joo, assim quando for preguntando em um sistema de busca quem so os pais de joo? ,o sistema responderia que Maria um dos pais de Joo, mas isso no est sendo indicado em lugar algum, mas o sistema DAML consegue discernir e obter essa resposta. DAML tem uma srie de propriedades padro, equivalncia por exemplo, possvel pesquisar o mesmo termo em vrias lnguas. DAML fornece uma infraestrutura bsica que permite a uma mquina fazer os mesmos tipos de inferncias simples que os seres humanos fazem. apenas um comeo, mas um fundamento essencial para uma rede de informaes que as mquinas podem recorrer.
Sintaxe. A DAMLA:Class contm parte da definio de uma classe de objeto. A classe refere-se a um nome de classe utilizando rdf:about ou rdf:id de identificao, e contm:
-zero ou mais rdfs:subClassOf propriedades (contendo, cada um, uma classe de expresso).
-zero ou mais daml:disjointWith propriedades (contendo, cada um, uma classe de expresso).
-zero ou mais daml:disjointUnionOf propriedades (cada um contendo uma lista de classes de expresso).
-zero ou mais daml:sameClassAs propriedades (cada um contendo uma classe de expresso).
-zero ou mais daml:equivalentTo propriedades (cada um contendo um classe de expresso).
-zero ou mais combinaes booleana de uma classe de expresso, ou seja, quaisquer combinaes de daml:unionOf, daml:intersectionOf, daml:complementOf.
-zero ou mais enumeraes de propriedades daml:oneOf.
A classe-expresso o nome usado neste documento para tanto:
-um nome de classe (a URI) identificado usando o atributo rdf:resource ou
-Uma enumerao, fechado em <daml:Class> ... </ DAML: Classe> marcas, ou
-uma propriedade de restrio, definido com o daml:class restrio ou
-uma combinao booleana de classe-expresses, dentro de <dfs:Class> ... </ rdfs: Classe> marcas
<!Configurando os DAML Namespaces --> <rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:daml="&daml;" xmlns:xsd="&xsd;">
<!Informaes sobre a ontologia sendo criada --> <daml:Ontology rdf:about=""> <daml:versionInfo> $Id: daml+oil-ex.daml,v 1.4 2001/01/11 20:33:52 mdean Exp $ </daml:versionInfo> <rdfs:comment> An ontology created by OntoEdit </rdfs:comment> <!Importando uma ontologia --> <daml:imports rdf:resource="http://www.daml.org/2000/12/daml+oil"/> </daml:Ontology>
<! Restringindo a cardinalidade da propriedade (localmente) - -> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#FName"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class>
<rdfs:Class rdf:ID="Admin"> <!Usando subClassOf do RDFSchema --> <rdfs:subClassOf rdf:resource="#Staff"/> </rdfs:Class>
<!Coordinator subclasse de Admin --> <rdfs:Class rdf:ID="Coordinator"> <rdfs:subClassOf rdf:resource="#Admin"/> </rdfs:Class> <!ProjAssistant subclasse de Admin --> <rdfs:Class rdf:ID="ProjAssistant"> <rdfs:subClassOf rdf:resource="#Admin"/> </rdfs:Class> <!Researcher subclasse de Staff --> <rdfs:Class rdf:ID="Researcher"> <rdfs:subClassOf rdf:resource="#Staff"/> </rdfs:Class>
Comparativo com outras linguagens.
Dimen so XML (Schema) RDF (Schema) DAML Conte xto Namespace padro: xmlns Declaring others: xmlns:<label>
XMLSchema Namespace (Tipicamente marcado como xsd) Xmlns:xsd=http://www.w3.org/ 2001/XMLSchema[Recomenda do pelo W3C]
targetNamespace se refere ao namespace definido pelo arquivo atual.
Note: Namespaces no precisam apontar para nada na especificao de XML Namespaces. <xsi:schemaLocation> informa a localizao do schema. RDF usa XML Namespaces.
Sintaxe do RDF Namespace Xmlns:rdf=http://ww w.w3.org/1999/02/22 -rdf-syntax-ns#
Nota: Em RDF, a URI do namespace referencia e tambm identifica a localizao do schema. DAML tambm usa XML Namespaces.
Utiliza elementos do RDF e RDF Schema ao referenciar seus respectivos Namespaces.
O mais atual DAML Namespace Xmlns:daml=http://www. daml.org/2001/03/daml+o il#
Em DAML, temos que importar ontologias para usar as clases definidas na ontologia. Classe s e Propri edade s do Objet o No h conceito de classes e propriedades, apenas elementos de certos tipos. Um tipo pode ser um simpleType (tipo simples) ou um complexType (tipo complexo). Possui Classes, Propriedade e uma Hierarquia de Classes. Resource a classe de nvel mais alto (http://www.w3.org/ 2001/01/rdf- schema#Resource) DAML Tambm possui Classes e Propriedades.
Dois tipos de propriedades so definidas: ObjectProperties (Relacionam um objeto a um outro objeto o valor
Ciclos na hierarquia de classes no eram permitidos at pouco tempo atrs. As ultimas revises nas especificaes do RDF permitem isto. da propriedade tambm um objeto) E DatatypeProperties(Relaci ona um objeto a um tipo de dado primitivo o valor da propriedade tambm um tipo de dado primitivo)
Ciclos na hierarquia de classes so permitidos. Hierar quia Como no h Classes, no h conceito de hierarquia.
Entretanto, tipos podem ser extended (extentidos) ou restricted (restritos), assim definindo subTypes( subTipos) Uma classe pode ser uma subClassOf de outras classes (herana mltipla permitida)
Propriedades tambm podem ser subPropertyOf de outras propriedades. Mesma que no RDF. Lista Ligada No possvel especificar. No possvel especificar. Pode-se usar a tag <daml:collection> Nega o No possvel. No presente. Possvel com a tag <daml:complementOf..>
Protg: open-source; Ferramenta de edio feita em java; Ferramenta para criar e gerenciar ontologias; Baseada no paradigma de Frameworks; Permite desenvolver plugins para adicionar novas funes (Mais de 50 plugins disponveis no endereo http://protege.stanford.edu/plugins.html) Possui uma biblioteca de ontologias com 55 ontologias