Publicação de Dados Governamentais no Padrão Linked Data 2.3 Web Ontology Language (OWL) Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration
Objetivo deste módulo 1.Apresentar conceitos básicos sobre OWL 2
Sumário 1. O que é? 2. Para que serve? 3. Ontologias 4. Indivíduos e Propriedades 5. Classes, Subclasses e Domínio 6. Sub-linguagens 7. Arquivo OWL 3
O que é? Core da Semântica (W3C) Movimento Web Em vários sentidos um sucessor dos trabalhos anteriores Web-friendly linguagens de modelagem de conhecimento RDF & RDF Schema W3C s Web Ontology Working Group é um who s who no campo de representação do conhecimento 4
O que é? Padrão Oficial da W3C desde Feb 2004 Linguagem Web: baseada em RDF(S) Uma linguagem ontológica: baseada em lógica 5
Por que? Aplicações de Web Semântica: portal Websites & intranets (Arquitetura da Informação) bibliotecas multimídia digital (rich metadata) agentes & Web services (interoperabilidade, automação) design documentação (complexo, interligado) Vantagens: compartilhamento de ontologia, evolução, interoperabilidade detecção de inconsistência expressividade vs escalabilidade padrões estabelecidos 6
Ontologias O que tem dentro de uma ontologia OWL Classes + hierarquia Propriedades (campo) / valor Relações entre classes (herança, disjuntos, equivalente) Restrições de propriedades (tipo, cardinalidade) Características de propriedades (transitiva, ) Anotações Indivíduos Tarefas de Raciocínio: classificação, verificação de consistência 7
Indivíduos Representa o objeto no domínio Especifica coisas Dois nomes podem representar a mesma coisa do mundo real Rio de Janeiro TerradeSãoSebastião CidadedoCristo 8
ObjectProperties Liga dois indivíduos Relacionamentos (0..n, n..m) temparte PraiadeIpanema RiodeJaneiro temacomodações ParaTemporada 9
Propriedades Inversas Representa Relacionamento Bidirecionais Adicionar valor a uma propriedade também adiciona valor à propriedade inversa RiodeJaneiro temparte fazparte PraiadeIpanema 10
Propriedades Transitivas Se A tem relação com B e B tem relação com C então A também está relacionado com C Freqüentemente utilizado em relacionamentos do tipo part-of Brasil temparte RiodeJaneiro temparte PraiadeIpanema 11 temparte (derivada)
DatatypeProperties Liga indivíduos a valores primitivos (integers, floats, strings, booleans etc) Freqüente: AnnotationProperties sem um significado formal Rio de Janeiro iscapital = true rdfs:comment = Não deixe de visitar o Cristo. 12
Classes Conjunto de indivíduos com características comuns Indivíduos são instâncias de pelo menos uma classe Cidade Praia RiodeJaneiro Itacaré PraiadeIpanema PraiadaRibeira 13
Ordem e Domínio Características de propriedades Domínio: lado esquerdo da relação (Destino) Ordem: lado direito (Alojamento) Destino RiodeJaneiro temacomodação temacomodação Alojamento CapacabanaPalace Meridien 14
Domínio Indivíduos somente podem ter valores de propriedades que fazem parte do domínio Somente Destinos podem ter Acomodações Domínios podem conter múltiplas classes Domínios podem ser indefinidos: propriedades podem ser usadas em toda parte 15
Relações de Super Classe Classes podem ser organizadas hierarquicamente Instâncias diretas de sub classes também são (indiretamente) instancias de super classes Rio de Janeiro PraiadeIpanema Brasil 16
Relações entre Classes Classes podem sobrepor-se arbitrariamente Cidade DestinodeDescanso SãoPaulo Itacaré PraiadeIpanema 17
Classes Disjuntas Todas as classes podem potencialmente se sobrepor Em muitos casos queremos ter certeza que não irão compartilhar instâncias disjointwith AreaUrbana RuralArea Sydney RiodeJaneiro SerradoCipo 18 Cidade Destino
Por que publicar ontologias? Ontologias provem padrões de terminologia Outras ontologias podem estende-la Usuários pode instanciar a ontologia para prover hotéis atividades 19
Importação de Ontologias Adiciona todas as classes, propriedades e indivíduos de uma OWL em seu projeto Permite a criação de indivíduos, sub classes, ou permite a criação de indivíduos, subclasses, ou restringir ainda mais as classes importadas Pode ser usada para instanciar uma ontologia da Web Semântica 20
Sub-linguagens OWL Lite RDF-and-a-half Principalmente destinados a hierarquias de classes & restrições simples (cardinalidade 0 or 1, igualdade, ) OWL DL Descrição lógica propriedades teóricas Destinado para resolver problemas de decidibilidade & completude OWL Full Expressividade máxima sem garantias computacionais 21
Sub-linguagens Toda ontologia OWL Lite é uma ontologia OWL DL Toda ontologia OWL DL é uma ontologia OWL Full Toda conclusão válida OWL Lite é uma conclusão válida OWL DL Toda conclusão válida OWL DL é uma conclusão válida OWL O inverso em todos os casos não se aplica 22
Use Cases Ao menos dois tipos de uso diferentes OWL usado como linguagem para troca de informação (definindo interfaces de serviços de agentes) OWL usado como terminologia de modelos de conhecimento OWL DL é um sub-conjunto da OWL (Full) que foi otimizado para a representação de raciocínio e modelo de conhecimento 23
Arquivo OWL <?xml version="1.0"?>\ <rdf:rdf xmlns="http://protege.stanford.edu/plugins/owl/owl-library/helibunjee.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:travel="http://protege.stanford.edu/plugins/owl/owllibrary/travel.owl#" xml:base="http://protege.stanford.edu/plugins/owl/owl-library/helibunjee.owl"> <owl:ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/owllibrary/travel.owl"/> </owl:ontology> <owl:class rdf:id="helibunjeejumping"> <rdfs:subclassof rdf:resource="http://protege.stanford.edu/plugins/owl/owllibrary/travel.owl#bunjeejumping"/> </owl:class> 24
Arquivo OWL <HeliBunjeeJumping rdf:id="manicsuperbunjee"> <travel:ispossiblein> <rdf:description rdf:about="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl#sydney"> <travel:hasactivity rdf:resource="#manicsuperbunjee"/> </rdf:description> </travel:ispossiblein> <travel:hascontact> <travel:contact rdf:id="msbinc"> <travel:hasemail rdf:datatype="http://www.w3.org/2001/xmlschema#string">msb@manicsuperbunjee.com </travel:hasemail> <travel:hascity rdf:datatype="http://www.w3.org/2001/xmlschema#string">sydney</travel:hascity> <travel:hasstreet rdf:datatype="http://www.w3.org/2001/xmlschema#string">queen Victoria St</travel:hasStreet> <travel:haszipcode rdf:datatype="http://www.w3.org/2001/xmlschema#int">1240</travel:haszipcode> </travel:contact> </travel:hascontact> <rdfs:comment rdf:datatype="http://www.w3.org/2001/xmlschema#string">manic super bunjee now offers nerve wrecking jumps from 300 feet right out of a helicopter. Satisfaction guaranteed.</rdfs:comment> </HeliBunjeeJumping> </rdf:rdf> 25
Arquitetura da Web Semântica OWL RDF + rdfschema XML + URI + XMLNS + xmlschema XML 26
XML, RDF & OWL XML: sintaxe universal XML Schema: define a estrutura dos documentos XML RDF: modelo de dados para objetos de recurso RDF Schema: vocabulário básico para definição de RDFs classes & propriedades e suas relações hierárquicas OWL: estende o vocabulário para definição de classes e propriedades, incluindo: cardinalidade (ex. mincardinality 1) igualdade (ex. equivalentclass) relacionamentos entre classes (ex. disjointwith) características de propriedades (ex. FunctionalProperty) 27
Principais Referências K. Breitman. Web Semântica: a Internet do Futuro. Editora LTC, 2005; D.L. McGuinness e F. Harmelen (editores). OWL Web Ontology Language Overview. Online, 2004. Disponível em: http://www.w3.org/tr/owl-features/; P. Patel-Schneider, P. Hayes e I. Horrocks (editores). OWL Web Ontology Language Semantics and Abstract Syntax. Online, 2004. Disponível em: http://www.w3.org/tr/owl-semantics/; 28