SlideShare uma empresa Scribd logo
Web Semântica   Bernadette Farias Lóscio  [email_address] Universidade Federal do Ceará – UFC Departamento de Computação
Conteúdo A Web (Sintática x Semântica) Tecnologias para a Web Semântica Aplicações Conclusões
Web Atual  Páginas direcionadas para pessoas e não para o processamento O principal foco é apresentação de informações O processo de interpretação é feito pelos usuários
Web Atual Por que os computadores não conseguem interpretar as informações? Faltam informações sobre as páginas!
Web Atual A Web atual é uma Web Sintática!
Web Sintática Principal ferramenta: mecanismos de busca baseados em palavras-chave Problemas... Grande número de páginas com pouca precisão Informações distribuídas em várias páginas e integração manual
Web Sintática O que fazer? Adicionar semântica as páginas!
Web Semântica Representar o conteúdo da Web para facilitar o seu processamento Categorizar as informações para facilitar o acesso
Web Semântica Cenário clássico  (Tim Berners Lee, 2001) A Lucy quer marcar uma consulta e uma série de sessões de fisioterapia para a mãe dela! A consulta tem que ser no horário que a Lucy tem disponibilidade De preferência deve ser próximo da casa dela O médico e os fisioterapeutas devem ser qualificados e credenciados pelo plano de saúde
Web Semântica Agente da Lucy Agente do médico Informações sobre o tratamento da mãe da Lucy Quais médicos atendem aos requisitos iniciais? Casa os horários da Lucy com os horários vagos dos profissionais Serviços  médicos
Web Semântica  Arquitetura em níveis
XML Proposta pelo W3C Linguagem de marcação extensível Troca de informações Usada para criação de novas linguagens de marcação
XML Exemplo: <eventosSBC> <evento codigo=“XXIISBBD”> <nome> Simpósio Brasileiro de Banco de Dados </nome> <cidade> João Pessoa </cidade> <local> Hotel Tambaú </local> <periodo> <inicio> 15/10/2007 </inicio> <fim> 19/10/2007 </fim> </periodo> ... </evento> ... </eventosSBC>
XML Esquema XML Define a estrutura de um conjunto de instâncias de documentos XML Define elementos válidos e seus respectivos modelos de conteúdo
XML XML Schema Linguagem padrão para descrição de esquemas XML Baseada em XML Um esquema em XML Schema é composto de: Definições de tipos Declarações de elementos
XML XML Schema – Exemplo <?xml version=&quot;1.0&quot;?> <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema> <xsd:element name=“eventosSBC&quot;> <xsd:complexType> <xsd:sequence> <xsd:element ref=“evento&quot; minOccurs=&quot;1&quot;  maxOccurs=&quot;unbounded&quot;/> </xsd:sequence> </xsd:complexType> </xsd:element> ...
XML XML Schema – Exemplo <xsd:element name=“evento“ type=“eventoT” /> <xsd:complexType name = “eventoT”> <xsd:sequence> <xsd:element name=“nome&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“cidade&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“local&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“periodo“ type = “periodoT/> </xsd:sequence> <xsd:attribute name=“codigo&quot; type=&quot;xsd:string&quot;/> </xsd:complexType> ... </xsd:schema>
XML Namespaces mecanismo para identificar unicamente os elementos e atributos de XML definido através de um URI (ex: URL) Exemplo: xmlns:xsd =“http://www.w3.org/2001/XMLSchema”
Web Semântica  Principais Tecnologias metadados ontologias agentes lógica
Metadados Dados sobre dados ! “ informações para a Web que podem ser compreendidas por máquinas”. (W3C – World Wide Web Consortium)
Metadados “ O termo se refere a qualquer informação utilizada para a identificação, descrição e localização de recursos.” (International Federation of Library Associations)
Metadados As páginas html não trazem metadados explícitos! As tags html especificam detalhes de apresentação!
Metadados Como adicionar semântica às páginas html? XML e RDF
Metadados XML é suficiente? <curso nome= “Banco de Dados” > <professor> Berna Farias </professor> </curso> <professor nome=“Berna Farias”> <leciona> Banco de Dados </leciona> </professor> A semântica dos dados não fica explícita!
RDF Resource Description Framework Linguagem baseada em XML para descrever metadados na Web Objetiva tornar a semântica dos recursos Web acessíveis a máquinas
RDF Descrevendo recursos Web com RDF Propriedades para itens de compra Informações sobre páginas (título e autor) Conteúdo e classificação de figuras Conteúdo para máquinas de busca
RDF  Idéias básicas recurso propriedade valor + + Sentença
RDF  Idéias básicas É um objeto sobre o qual queremos “falar”! Ex: autores, livros, hotéis... Deve ter um identificador universal único (URI) Ex: URL recurso propriedade valor + + Sentença
RDF Idéias básicas Recursos que descrevem relacionamentos entre recursos Ex: escrito_por, idade, título... recurso propriedade valor + + Sentença
RDF Idéias básicas É um objeto que pode ser um recurso ou um literal! Ex: nome de uma pessoa recurso propriedade valor + + Sentença
RDF Visões de uma sentença Exemplo de sentença: Berna Farias  criou o site http://www.lia.ufc.br/~bernafarias
RDF Visões de uma sentença Exemplo de sentença: Berna Farias  criou o site http://www.lia.ufc.br/~bernafarias recurso propriedade literal
RDF Visões de uma sentença ...como uma tripla: ( http://www.lia.ufc.br/~bernafarias, http://meudominio.org/criadoPor, “Berna Farias”) http://www.lia.ufc.br/~bernafarias Berna Farias criadoPor ... como um grafo:
RDF Representação que pode ser processada <rdf:RDF> <rdf:Description about = “http://www.lia.ufc.br/~bernafarias”> <b:criadoPor> Berna Farias </b:criadoPor> </rdf:Description> </rdf:RDF>
RDF Sintaxe básica Elemento raiz <rdf: RDF> Contém um conjunto de elementos <rdf: Description> Cada elemento especifica uma sentença sobre um recurso
<rdf:RDF> <rdf:Description  about = “91002043177”> <uni:nome> Berna Farias </uni:nome> <uni:cargo> professor </uni:cargo> </rdf:Description> <rdf:Description  about = “CK120”> <uni:nomeDisciplina> Banco de Dados </uni:nomeDisciplina> <uni:ensinadoPor> Berna Farias </uni:ensinadoPor> </rdf:Description> </rdf:RDF> RDF Sintaxe básica RDF - Exemplo
RDF Sintaxe básica rdf: resource <rdf:Description  about = “92345566994”> <uni:nome> Vania Vidal </uni:nome> <uni:cargo> professor </uni:cargo> </rdf:Description> <rdf:Description  about = “CK120”> <uni:nomeDisciplina> Fundamentos de Banco de Dados  </uni:nomeDisciplina> <uni:ensinadoPor  rdf:resource  = “ 92345566994 ”/> </rdf:Description>
RDF RDF permite descrever recursos RDF não define a semântica de um domínio Como descrever um domínio em particular? Usando RDF Schema!
RDF Schema Idéias básicas Permite definir termos de um vocabulário e relacionamentos entre eles Oferece um significado extra aos recursos e propriedades RDF Este significado extra (semântica) especifica como um termo deve ser interpretado
RDF Schema Idéias básicas Utiliza-se o RDF Schema em conjunto com o RDF RDF Schema é um tipo de dicionário que pode ser lido por máquinas
RDF Schema Idéias básicas Principais conceitos Classes Propriedades Hierarquia de classes Hierarquia de propriedades
Níveis RDF e RDF Schema Banco de Dados Berna Farias   ensinadoPor RDF RDFS prof. adjunto prof. visitante prof. substituto funcionario professor subClassOf subClassOf subClassOf subClassOf literal id fone domain domain range range range range disciplina ensinadoPor envolve subPropertyOf domain domain
RDF Schema Idéias básicas <rdf:RDF xmlns:rdf = “http://www.w3.org/1999/02/02/22-rdf-syntax-ns#” xmlns:rdfs = “http://www.w3.org/2000/01/rdf-schema#”> <rdfs:Class rdf:ID=“funcionario”> <rdfs:comment> Classe de todos os funcionarios</rdfs:comment> </rdfs:Class> ...
RDF Schema Idéias básicas ... <rdfs:Class rdf:ID=“professor”> <rdfs:comment> Classe de todos os professores </rdfs:comment> <rdfs:subClassOf rdf:resource=“#funcionario”/> </rdfs:Class> <rdfs:Class rdf:ID=“disciplina”> <rdfs:comment> Classe de todas as disciplinas</rdfs:comment> </rdfs:Class>  ...
RDF Schema Idéias básicas ... <rdf:Property rdf:ID=“envolve”> <rdfs:comment> Relaciona disciplinas a funcionarios</rdfs:comment> <rdfs:domain rdf:resource=“#disciplina”/> <rdfs:range rdf:resource=“#funcionario”/> <rdf:Property/> ...
RDF Schema Idéias básicas ... <rdf:Property rdf:ID=“ensinadoPor”> <rdfs:comment> Herda domain e o range da propriedade envolve</rdfs:comment> <rdfs:subPropertyOf rdf:resource=“#envolve”/> <rdf:Property/> ... </rdf:RDF>
Problemas com RDFS RDFS muito limitada para descrever detalhes dos recursos Não permite especificar restrições de cardinalidade propriedades transitivas, inversas ou simétricas disjunção de classes
RDF e RDFS  Resumindo... RDF: modelo de dados para descrever recursos da Web RDF: complementa XML oferecendo significado para o aninhamento de tags
RDF e RDFS Resumindo... RDFS: linguagem para descrever vocabulários para domínios específicos RDFS: linguagem primitiva para descrição de ontologias
Web Semântica  Principais Tecnologias metadados ontologias agentes lógica
Ontologia Ramo da filosofia que lida com a natureza e organização da realidade O que é ser ? Quais as características comuns a todos os seres? Ciência do ser (Aristóteles)
Ontologia “ Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada”.  (Gruber)
Ontologia Especificação explícita: engloba definições de conceitos, instâncias, relações, restrições e axiomas Formal: é declarativamente definida, portanto, compreensível para agentes e sistemas “ Uma ontologia é uma  especificação   explícita  e  formal  de uma conceitualização compartilhada”.
Ontologia Conceitualização: trata-se de um modelo abstrato de uma área de conhecimento Compartilhada: trata-se de um conhecimento consensual “ Uma ontologia é uma especificação explícita e formal de uma  conceitualização   compartilhada ”.
Ontologia “ A definição dos termos utilizados na descrição e na representação de uma área do conhecimento.”  (W3C – World Wide Web Consortium)
Ontologias  Pra quê? Para compartilhar conhecimento comum sobre a estrutura da informação: Entre pessoas Entre agentes de software
Ontologias Pra quê? Para permitir a reutilização do conhecimento sobre um domínio: Para evitar a “reinvenção da roda” Para introduzir padrões que permitam a interoperabilidade entre aplicações
Ontologias Classificação quanto à expressividade e grau de formalismo Vocabulários Glossários Tesauros Taxonomias Redes Semânticas Ontologias Objetivam oferecer um vocabulário compartilhado para a troca de informações
Ontologias Devem prover descrições para: Classes (“conceitos”) nos vários domínios de interesse Relacionamentos entre esses “conceitos” Propriedades que essas “conceitos” devem possuir
Linguagens para a definição de Ontologias Requisitos Sintaxe bem-definida (informação poderá ser processada) Semântica formal (define o conhecimento precisamente, permite raciocinar sobre o conhecimento)
Linguagens para a definição de Ontologias Requisitos Suporte para raciocínio (permite checar a consistência da ontologia, classificar instâncias) Poder de expressividade
A linguagem OWL É uma evolução da linguagem DAML + OIL Proposta pelo W3C Projetada para descrever a estrutura de um domínio em termos de  Classes Instâncias Propriedades
A linguagem OWL OWL Full OWL DL OWL Lite Ferramentas, raciocínio mais eficiente... Expressividade
A linguagem OWL Cabeçalho <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:owl=&quot;http://www.w3.org/2002/07/owl#&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot;>
A linguagem OWL Classes Classes <owl: Class rdf: ID=“ProfessorAdjunto”> <rdfs: subClassOf rdf:resource=“#Professor”/> </owl: Class>
A linguagem OWL Classes Disjunção entre classes <owl:Class rdf:about=&quot;ProfessorAdjunto&quot;> <owl:disjointWith rdf:resource=&quot;#ProfessorSubstituto&quot;/> <owl:disjointWith rdf:resource=&quot;#ProfessorVisitante&quot;/> </owl:Class>
A linguagem OWL Classes Equivalência entre classes <owl:Class rdf:ID=“Docente&quot;> <owl:equivalentClass rdf:resource=&quot;#Professor&quot;/> </owl:Class>
A linguagem OWL Propriedades Propriedades Estabelecem relacionamentos indivíduo-indivíduo e/ou indivíduo-dados Propriedades de objeto Ex: ensinadoPor Propriedade de tipo de dados Ex: nome, fone
A linguagem OWL Propriedades Propriedade de Tipo de Dados <owl:DataTypeProperty rdf:ID=“idade”> <rdfs:range rdf:resource=“http://www.w3.org.2001/ XMLSchema#NonNegativeInteger&quot;/> </owl:DataTypeProperty>
A linguagem OWL  Propriedades Propriedade de Objeto <owl:ObjectProperty rdf:ID=“ensinadoPor”> <rdfs:domain rdf:resource=&quot;#Disciplina&quot;/> <rdfs:range rdf:resource=&quot;#Professor&quot;/> <rdfs:subpropertyof rdf:resource=&quot;#envolve&quot;/> </owl:objectProperty>
A linguagem OWL Propriedades Propriedades inversas <owl:ObjectProperty rdf:ID=“ensina”> <rdfs:range rdf:resource=&quot;#Disciplina&quot;/> <rdfs:domain rdf:resource=&quot;#Professor&quot;/> <owl:inverseof rdf:resource=&quot;#ensinadoPor&quot;/> </owl:objectProperty>
A linguagem OWL Propriedades Restrições das propriedades Valores (allValuesFrom, someValuesFrom, hasValue) Cardinalidade (maxCardinality, minCardinality, Cardinality)
A linguagem OWL Propriedades allValuesFrom <owl:Class rdf:about=“#disciplinaObrigatoria&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:allValuesFrom rdf:resource=“ProfessorAdjunto&quot;/> </owl:Restriction>  <rdfs:subClassOf> </owl:Class> Toda disciplina obrigatória tem que ser ensinada por um professor adjunto!
A linguagem OWL Propriedades hasValue <owl:Class rdf:about=“#disciplinaBD&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:hasValue rdf:resource=“#91002043177&quot;/> </owl:Restriction>  <rdfs:subClassOf> </owl:Class> Toda disciplina de Banco de Dados tem que ser ensinada pela professora Berna Farias!
A linguagem OWL Propriedades someValuesFrom <owl:Class rdf:about=“#professor&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensina&quot;/> <owl:someValuesFrom rdf:resource=“#DisciplinaPosGraduacao&quot;/> </owl:Restriction>  <rdfs:subClassOf> </owl:Class> Todos os professores devem ensinar pelo menos uma disciplina da pós-graduação!
A linguagem OWL Propriedades Restrições de cardinalidade <owl:Class rdf:about=“#disciplina&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:minCardinality rdf:datatype=“&xsd;nonNegativeInteger&quot;>  1 </owl:minCardinality> </owl:Restriction>  <rdfs:subClassOf> </owl:Class>
A linguagem OWL Propriedades Propriedades das propriedades: são definidas diretamente nas propriedades owl:TransitiveProperty owl:SymmetricProperty owl:FunctionalProperty owl:InversefunctionalProperty
A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“temMesmaNota”> <rdf:type rdf:resource=“&owl;TransitiveProperty”/> <rdf:type rdf:resource=“&owl;SymmetricProperty”/> <rdfs:domain rdf:resource = “#aluno”/> <rdfs:range rdf:resource = “#aluno”/> </owl:ObjectProperty>
A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“supervisor”> <rdf:type rdf:resource=“&owl;FunctionalProperty”/> <rdfs:domain rdf:resource = “#professor”/> <rdfs:range rdf:resource = “#professor”/> </owl:ObjectProperty> Um professor tem no máximo um supervisor!
A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“éCPFde”> <rdf:type rdf:resource=“&owl;InversaFunctionalProperty”/> <rdfs:domain rdf:resource = “#CPF”/> <rdfs:range rdf:resource = “#professor”/> </owl:ObjectProperty> Dois professores não podem ter o mesmo valor para CPF!
A linguagem OWL União de classes <owl:Class rdf:ID=“pessoasUni”> <owl:unionOf rdf:parseType = “Collection”> <owl:Class rdf:about = “professor”/> <owl:Class rdf:about = “aluno”/> </owl:unionOf> </owl:Class>
A linguagem OWL Interseção de classes <owl:Class rdf:ID = “professorCS”> <owl:intersectionOf rdf:parseType=“Collection”> <owl:Class rdf:about = “professor”/> <owl: Restriction> <owl:onProperty rdf:resource=“#pertenceA”/> <owl:hasvalue rdf:resource=“#DepartamentoCS”/> </owl:Restriction> </owl:intersectionOf> </owl:Class>
A linguagem OWL Criação de instâncias <rdf:Description rdf:ID = “91887711”> <rdf:type rdf:resource =“#professor”> </rdf:Description> Ou <professor rdf:ID = “91887711”/>
Etapas do Projeto de uma Ontologia Determinar o escopo Considerar o reuso Enumerar termos Definir taxonomia Definir propriedades Definir restrições Definir instâncias
1. Determinar o escopo Qual o domínio a ser coberto pela ontologia? Para quê será usada esta ontologia? Para que tipo de questões a informação na ontologia deve oferecer respostas?
2. Considerar o reuso Por que reutilizar outras ontologias? Para poupar esforços Para interagir com as ferramentas que usam outras ontologias Para empregar ontologias que foram validadas através do uso em outras aplicações.
3. Enumerar termos Quais os termos sobre os quais vamos falar? Quais as propriedades desses termos? O que queremos dizer sobre esses termos?
4. Definir taxonomia Definir as classes que irão compor a ontologia Definir a hierarquia das classes, incluindo os conceitos de superclasses e subclasses
5. Definir propriedades Definir as propriedades de objetos que definem relacionamentos entre classes Definir propriedades de dados  Definir domain e range para as propriedades
6. Definir restrições Restrições sobre Propriedades (facetas) descrevem ou limitam o conjunto de valores possíveis para as propriedades
7. Definir instâncias Criar as instâncias das classes Atribuir os valores das propriedades para as instância  de acordo com as restrições definidas
Exemplo Criar uma ontologia para representação de relações de parentesco Quais termos serão representados pela ontologia? Pai, mãe, filho, filha, irmã, irmão...
A ferramenta Protégé
Protégé – Criação de Classes
Protégé – Criação de Classes
Protégé – Criação de Propriedades
Protégé – Criação de Instâncias
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Instâncias
Protégé
Ontologias  Ferramentas  Editores de Ontologias e de Metadados. Ex.: OilEd, OntoEdit, Protégé Ferramentas de Visualização. Ex.: OilViz (do OilEd), TGViz Mecanismos de Inferência (reasoners). Ex.: JESS, FaCT, RACER, Pellet
Bibliotecas de Ontologias Reutilização de ontologias é importante! Sistemas de gerência de bibliotecas de ontologias oferecem Suporte à reutilização Infra-estrutura para armazenamento, busca e recuperação de ontologias Mecanismos de tradução de ontologias Suporte para a edição de ontologias Ex: Ontolingua, WebOnto, Ontology Server
Web Semântica  Principais Tecnologias metadados ontologias agentes lógica
Agentes de Software “ Em vez de fazer tudo para os usuários, os agentes (de software) vão achar maneiras possíveis de atender às suas necessidades, e então oferecer as opções ao usuário.” (James Hendler)
Agentes de Software Características Autonomia Proatividade Adaptatividade Mobilidade Interatividade ... Comportam-se mais como um assistente do que como uma ferramenta
Agentes de software na Web Semântica Serão responsáveis por: Coordenar tarefas de busca Comparação e negociação na rede Não vão agir de modo 100% autônomo Vão realizar o trabalho “pesado” para que o usuário tome decisões
Agentes de Software na Web Semântica Vão se comunicar através do compartilhamento de ontologias do domínio Ontologias servirão como base para a troca de informações entre agentes de software
Agentes de Software na Web Semântica E se não existir uma única ontologia?
Agentes de Software na Web Semântica Como os agentes de software determinam se conceitos compartilhados são semanticamente equivalentes?
Agentes de Software na Web Semântica Como agentes de software determinam se conceitos diferentes têm o mesmo significado? Como agentes de software determinam se suas ontologias pertencem a um mesmo domínio?
Agentes de Software na Web Semântica Como prover a interoperabilidade semântica entre os agentes? Alinhamento de ontologias!
Agentes de Software Interoperabilidade semântica Agente 1 Ontologia 1 Agente 2 Ontologia 2 mapeamentos semânticos (O 1 , O 2 ) Domínio A alinhamento
Alinhamento de ontologias Publicacao ISBN autor ano String String Integer Livro editora String Periódico classif. String Livro editora String ISBN String ano Integer Ontologia 1 Ontologia 2 Artigo confer. String Autor nome String Artigo confer. String
Web Semântica  Principais Tecnologias metadados ontologias agentes lógica
Lógica Como pode ser usada na Web Semântica? Para descobrir novos conhecimentos e auxiliar na tomada de decisões
Lógica Pode ser usada para descobrir conhecimento ontológico que não está explícito Ex:  Todos os professores são funcionários da universidade Se Berna é uma professora então Berna é uma funcionária da universidade
Lógica Pode ser usado por agentes inteligentes para auxiliar a tomada de decisões Ex:  Um agente de compras pode decidir oferecer um desconto para um cliente com base na seguinte regra clienteFiel(X)    desconto(5%)
Lógica Pode oferecer explicações para conclusões Os passos para se chegar a uma conclusão podem ser rastreados Recursos importante porque aumenta a confiança dos usuários
Lógica Explicações são necessárias para a comunicação entre agentes Agente 1 Agente 2 Você me deve R$100,00 Por que? compra(X, Item)  ٨   preco(Item,P)  ٨   entrega (Item, X)    deve(X, P)
Lógica Deverá ser capaz de ser processada...
Aplicações Comércio eletrônico O processamento de informações é feito manualmente O que fazer? Usar agentes para interpretar as informações Usar ontologias Benefícios com a Web Semântica Informações extraídas em um único formato
Aplicações Web Semântica Geo-espacial Busca Semântica  Dicionários Geográficos Catálogos de Metadados  (Opções + simples de compartilhamento) Geo-Ontologias Descrição de dados e serviços espaciais
Conclusão A Web Semântica é uma evolução da Web atual Agentes farão o “trabalho pesado” Ontologias serão usadas para definição de vocabulários comuns para os agentes A troca de informações entre os agentes poderá ser feita com linguagens baseadas em XML Estratégias de negociação poderão ser escritas em lógica O primeiro passo poderá ser dados pelas grandes organizações
Conclusão Grande desafio:  adoção da tecnologia!
Bibliografia Breitman, K. “Web Semântica: a Internet do Futuro”. Editora LTC, 2005. Goméz-Pérez, A., Corcho, O., Fernandez-Lopez, M. “Ontological Engineering (Advanced Information and Knowledge Processing)”, Springer-Verlag, 2004. Uschold, M., Gruninger, M. “ Ontologies and Semantics for Seamless Connectivity”. ACM SIGMOD Record Vol. 33, Issue 4, 2004. “ DAML+OIL: a Reason-able Web Ontology Language”. Keynote talk given at WES/CAiSE 2002, Toronto, May 28th, 2002.  “ OWL Web Ontology Language Guide”. W3C Recommendation 10 February 2004 in http:// www.w3.org/TR/owl-guide/  Lacy, L.W. “OWL – Representing Information Using the Web Ontology Language”, Trafford, 2005.  RDF/XML Syntax Specification (Revised). Dave Beckett, Editor. W3C Recommendation, 10 February 2004, Available at: http://www.w3.org/TR/rdf-syntax-grammar/.
Obrigada! [email_address]

Mais conteúdo relacionado

PPTX
Conceitos de Web Semântica
PPT
Introdução às ontologias por Gisele Dziekaniak EDUTEC FURG 2009
PPT
Web Standards
PPT
Html E Websemantica Trabalho
PDF
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
PPSX
Curso Desenvolvimento WEB com PHP - HTML
PPT
Arquitetura: XML + RDF ate WebSemantica
PPT
Web 3.0 - A Semântica na Rede
Conceitos de Web Semântica
Introdução às ontologias por Gisele Dziekaniak EDUTEC FURG 2009
Web Standards
Html E Websemantica Trabalho
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Curso Desenvolvimento WEB com PHP - HTML
Arquitetura: XML + RDF ate WebSemantica
Web 3.0 - A Semântica na Rede

Semelhante a Apresentacao Web Semântica SBBD 2007 (20)

PDF
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
PPT
PPTX
Web semântica e html5 na recuperação de conteúdo informacional
PDF
Tecnologias Web com foco na criação de Landing Pages
PPTX
Banco de dados
PPTX
PPTX
Parte5 xml
ODP
Html5 - O futuro da Web
PPT
Padroes Web
ODP
Palestra Introdução a Linked Data
PPTX
Fundamentos e Desenvolvimento de Interface Web com HTML5 & CSS3
PPTX
Montando sites com XHTML e CSS utilizando os padrões web
PPT
Academia verao 2011 - HTML + CSS
PPT
Academia Verão 2011 - HTML
PPT
Obtendo Informação Útil em Dados Semi-Estruturados da Web
PPT
Websemantica
PDF
Html5 - Notas de aula
PPTX
PPTX
HTML5 - Tags semânticas
PPTX
Introdução ao Desenvolvimento front-end (2019)
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Web semântica e html5 na recuperação de conteúdo informacional
Tecnologias Web com foco na criação de Landing Pages
Banco de dados
Parte5 xml
Html5 - O futuro da Web
Padroes Web
Palestra Introdução a Linked Data
Fundamentos e Desenvolvimento de Interface Web com HTML5 & CSS3
Montando sites com XHTML e CSS utilizando os padrões web
Academia verao 2011 - HTML + CSS
Academia Verão 2011 - HTML
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Websemantica
Html5 - Notas de aula
HTML5 - Tags semânticas
Introdução ao Desenvolvimento front-end (2019)
Anúncio

Último (11)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Eng. Software - pontos essenciais para o início
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Design - Introdução a Gestalt e teoria das formas
Viasol Energia Solar -Soluções para geração e economia de energia
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Eng. Software - pontos essenciais para o início
Manejo integrado de pragas na cultura do algodão
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Arquitetura de computadores - Memórias Secundárias
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Tipos de servidor em redes de computador.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Design - Introdução a Gestalt e teoria das formas
Anúncio

Apresentacao Web Semântica SBBD 2007

  • 1. Web Semântica Bernadette Farias Lóscio [email_address] Universidade Federal do Ceará – UFC Departamento de Computação
  • 2. Conteúdo A Web (Sintática x Semântica) Tecnologias para a Web Semântica Aplicações Conclusões
  • 3. Web Atual Páginas direcionadas para pessoas e não para o processamento O principal foco é apresentação de informações O processo de interpretação é feito pelos usuários
  • 4. Web Atual Por que os computadores não conseguem interpretar as informações? Faltam informações sobre as páginas!
  • 5. Web Atual A Web atual é uma Web Sintática!
  • 6. Web Sintática Principal ferramenta: mecanismos de busca baseados em palavras-chave Problemas... Grande número de páginas com pouca precisão Informações distribuídas em várias páginas e integração manual
  • 7. Web Sintática O que fazer? Adicionar semântica as páginas!
  • 8. Web Semântica Representar o conteúdo da Web para facilitar o seu processamento Categorizar as informações para facilitar o acesso
  • 9. Web Semântica Cenário clássico (Tim Berners Lee, 2001) A Lucy quer marcar uma consulta e uma série de sessões de fisioterapia para a mãe dela! A consulta tem que ser no horário que a Lucy tem disponibilidade De preferência deve ser próximo da casa dela O médico e os fisioterapeutas devem ser qualificados e credenciados pelo plano de saúde
  • 10. Web Semântica Agente da Lucy Agente do médico Informações sobre o tratamento da mãe da Lucy Quais médicos atendem aos requisitos iniciais? Casa os horários da Lucy com os horários vagos dos profissionais Serviços médicos
  • 11. Web Semântica Arquitetura em níveis
  • 12. XML Proposta pelo W3C Linguagem de marcação extensível Troca de informações Usada para criação de novas linguagens de marcação
  • 13. XML Exemplo: <eventosSBC> <evento codigo=“XXIISBBD”> <nome> Simpósio Brasileiro de Banco de Dados </nome> <cidade> João Pessoa </cidade> <local> Hotel Tambaú </local> <periodo> <inicio> 15/10/2007 </inicio> <fim> 19/10/2007 </fim> </periodo> ... </evento> ... </eventosSBC>
  • 14. XML Esquema XML Define a estrutura de um conjunto de instâncias de documentos XML Define elementos válidos e seus respectivos modelos de conteúdo
  • 15. XML XML Schema Linguagem padrão para descrição de esquemas XML Baseada em XML Um esquema em XML Schema é composto de: Definições de tipos Declarações de elementos
  • 16. XML XML Schema – Exemplo <?xml version=&quot;1.0&quot;?> <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema> <xsd:element name=“eventosSBC&quot;> <xsd:complexType> <xsd:sequence> <xsd:element ref=“evento&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;unbounded&quot;/> </xsd:sequence> </xsd:complexType> </xsd:element> ...
  • 17. XML XML Schema – Exemplo <xsd:element name=“evento“ type=“eventoT” /> <xsd:complexType name = “eventoT”> <xsd:sequence> <xsd:element name=“nome&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“cidade&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“local&quot; type=&quot;xsd:string&quot;/> <xsd:element name=“periodo“ type = “periodoT/> </xsd:sequence> <xsd:attribute name=“codigo&quot; type=&quot;xsd:string&quot;/> </xsd:complexType> ... </xsd:schema>
  • 18. XML Namespaces mecanismo para identificar unicamente os elementos e atributos de XML definido através de um URI (ex: URL) Exemplo: xmlns:xsd =“http://www.w3.org/2001/XMLSchema”
  • 19. Web Semântica Principais Tecnologias metadados ontologias agentes lógica
  • 20. Metadados Dados sobre dados ! “ informações para a Web que podem ser compreendidas por máquinas”. (W3C – World Wide Web Consortium)
  • 21. Metadados “ O termo se refere a qualquer informação utilizada para a identificação, descrição e localização de recursos.” (International Federation of Library Associations)
  • 22. Metadados As páginas html não trazem metadados explícitos! As tags html especificam detalhes de apresentação!
  • 23. Metadados Como adicionar semântica às páginas html? XML e RDF
  • 24. Metadados XML é suficiente? <curso nome= “Banco de Dados” > <professor> Berna Farias </professor> </curso> <professor nome=“Berna Farias”> <leciona> Banco de Dados </leciona> </professor> A semântica dos dados não fica explícita!
  • 25. RDF Resource Description Framework Linguagem baseada em XML para descrever metadados na Web Objetiva tornar a semântica dos recursos Web acessíveis a máquinas
  • 26. RDF Descrevendo recursos Web com RDF Propriedades para itens de compra Informações sobre páginas (título e autor) Conteúdo e classificação de figuras Conteúdo para máquinas de busca
  • 27. RDF Idéias básicas recurso propriedade valor + + Sentença
  • 28. RDF Idéias básicas É um objeto sobre o qual queremos “falar”! Ex: autores, livros, hotéis... Deve ter um identificador universal único (URI) Ex: URL recurso propriedade valor + + Sentença
  • 29. RDF Idéias básicas Recursos que descrevem relacionamentos entre recursos Ex: escrito_por, idade, título... recurso propriedade valor + + Sentença
  • 30. RDF Idéias básicas É um objeto que pode ser um recurso ou um literal! Ex: nome de uma pessoa recurso propriedade valor + + Sentença
  • 31. RDF Visões de uma sentença Exemplo de sentença: Berna Farias criou o site http://www.lia.ufc.br/~bernafarias
  • 32. RDF Visões de uma sentença Exemplo de sentença: Berna Farias criou o site http://www.lia.ufc.br/~bernafarias recurso propriedade literal
  • 33. RDF Visões de uma sentença ...como uma tripla: ( http://www.lia.ufc.br/~bernafarias, http://meudominio.org/criadoPor, “Berna Farias”) http://www.lia.ufc.br/~bernafarias Berna Farias criadoPor ... como um grafo:
  • 34. RDF Representação que pode ser processada <rdf:RDF> <rdf:Description about = “http://www.lia.ufc.br/~bernafarias”> <b:criadoPor> Berna Farias </b:criadoPor> </rdf:Description> </rdf:RDF>
  • 35. RDF Sintaxe básica Elemento raiz <rdf: RDF> Contém um conjunto de elementos <rdf: Description> Cada elemento especifica uma sentença sobre um recurso
  • 36. <rdf:RDF> <rdf:Description about = “91002043177”> <uni:nome> Berna Farias </uni:nome> <uni:cargo> professor </uni:cargo> </rdf:Description> <rdf:Description about = “CK120”> <uni:nomeDisciplina> Banco de Dados </uni:nomeDisciplina> <uni:ensinadoPor> Berna Farias </uni:ensinadoPor> </rdf:Description> </rdf:RDF> RDF Sintaxe básica RDF - Exemplo
  • 37. RDF Sintaxe básica rdf: resource <rdf:Description about = “92345566994”> <uni:nome> Vania Vidal </uni:nome> <uni:cargo> professor </uni:cargo> </rdf:Description> <rdf:Description about = “CK120”> <uni:nomeDisciplina> Fundamentos de Banco de Dados </uni:nomeDisciplina> <uni:ensinadoPor rdf:resource = “ 92345566994 ”/> </rdf:Description>
  • 38. RDF RDF permite descrever recursos RDF não define a semântica de um domínio Como descrever um domínio em particular? Usando RDF Schema!
  • 39. RDF Schema Idéias básicas Permite definir termos de um vocabulário e relacionamentos entre eles Oferece um significado extra aos recursos e propriedades RDF Este significado extra (semântica) especifica como um termo deve ser interpretado
  • 40. RDF Schema Idéias básicas Utiliza-se o RDF Schema em conjunto com o RDF RDF Schema é um tipo de dicionário que pode ser lido por máquinas
  • 41. RDF Schema Idéias básicas Principais conceitos Classes Propriedades Hierarquia de classes Hierarquia de propriedades
  • 42. Níveis RDF e RDF Schema Banco de Dados Berna Farias ensinadoPor RDF RDFS prof. adjunto prof. visitante prof. substituto funcionario professor subClassOf subClassOf subClassOf subClassOf literal id fone domain domain range range range range disciplina ensinadoPor envolve subPropertyOf domain domain
  • 43. RDF Schema Idéias básicas <rdf:RDF xmlns:rdf = “http://www.w3.org/1999/02/02/22-rdf-syntax-ns#” xmlns:rdfs = “http://www.w3.org/2000/01/rdf-schema#”> <rdfs:Class rdf:ID=“funcionario”> <rdfs:comment> Classe de todos os funcionarios</rdfs:comment> </rdfs:Class> ...
  • 44. RDF Schema Idéias básicas ... <rdfs:Class rdf:ID=“professor”> <rdfs:comment> Classe de todos os professores </rdfs:comment> <rdfs:subClassOf rdf:resource=“#funcionario”/> </rdfs:Class> <rdfs:Class rdf:ID=“disciplina”> <rdfs:comment> Classe de todas as disciplinas</rdfs:comment> </rdfs:Class> ...
  • 45. RDF Schema Idéias básicas ... <rdf:Property rdf:ID=“envolve”> <rdfs:comment> Relaciona disciplinas a funcionarios</rdfs:comment> <rdfs:domain rdf:resource=“#disciplina”/> <rdfs:range rdf:resource=“#funcionario”/> <rdf:Property/> ...
  • 46. RDF Schema Idéias básicas ... <rdf:Property rdf:ID=“ensinadoPor”> <rdfs:comment> Herda domain e o range da propriedade envolve</rdfs:comment> <rdfs:subPropertyOf rdf:resource=“#envolve”/> <rdf:Property/> ... </rdf:RDF>
  • 47. Problemas com RDFS RDFS muito limitada para descrever detalhes dos recursos Não permite especificar restrições de cardinalidade propriedades transitivas, inversas ou simétricas disjunção de classes
  • 48. RDF e RDFS Resumindo... RDF: modelo de dados para descrever recursos da Web RDF: complementa XML oferecendo significado para o aninhamento de tags
  • 49. RDF e RDFS Resumindo... RDFS: linguagem para descrever vocabulários para domínios específicos RDFS: linguagem primitiva para descrição de ontologias
  • 50. Web Semântica Principais Tecnologias metadados ontologias agentes lógica
  • 51. Ontologia Ramo da filosofia que lida com a natureza e organização da realidade O que é ser ? Quais as características comuns a todos os seres? Ciência do ser (Aristóteles)
  • 52. Ontologia “ Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada”. (Gruber)
  • 53. Ontologia Especificação explícita: engloba definições de conceitos, instâncias, relações, restrições e axiomas Formal: é declarativamente definida, portanto, compreensível para agentes e sistemas “ Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada”.
  • 54. Ontologia Conceitualização: trata-se de um modelo abstrato de uma área de conhecimento Compartilhada: trata-se de um conhecimento consensual “ Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada ”.
  • 55. Ontologia “ A definição dos termos utilizados na descrição e na representação de uma área do conhecimento.” (W3C – World Wide Web Consortium)
  • 56. Ontologias Pra quê? Para compartilhar conhecimento comum sobre a estrutura da informação: Entre pessoas Entre agentes de software
  • 57. Ontologias Pra quê? Para permitir a reutilização do conhecimento sobre um domínio: Para evitar a “reinvenção da roda” Para introduzir padrões que permitam a interoperabilidade entre aplicações
  • 58. Ontologias Classificação quanto à expressividade e grau de formalismo Vocabulários Glossários Tesauros Taxonomias Redes Semânticas Ontologias Objetivam oferecer um vocabulário compartilhado para a troca de informações
  • 59. Ontologias Devem prover descrições para: Classes (“conceitos”) nos vários domínios de interesse Relacionamentos entre esses “conceitos” Propriedades que essas “conceitos” devem possuir
  • 60. Linguagens para a definição de Ontologias Requisitos Sintaxe bem-definida (informação poderá ser processada) Semântica formal (define o conhecimento precisamente, permite raciocinar sobre o conhecimento)
  • 61. Linguagens para a definição de Ontologias Requisitos Suporte para raciocínio (permite checar a consistência da ontologia, classificar instâncias) Poder de expressividade
  • 62. A linguagem OWL É uma evolução da linguagem DAML + OIL Proposta pelo W3C Projetada para descrever a estrutura de um domínio em termos de Classes Instâncias Propriedades
  • 63. A linguagem OWL OWL Full OWL DL OWL Lite Ferramentas, raciocínio mais eficiente... Expressividade
  • 64. A linguagem OWL Cabeçalho <?xml version=&quot;1.0&quot;?> <rdf:RDF xmlns:owl=&quot;http://www.w3.org/2002/07/owl#&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot;>
  • 65. A linguagem OWL Classes Classes <owl: Class rdf: ID=“ProfessorAdjunto”> <rdfs: subClassOf rdf:resource=“#Professor”/> </owl: Class>
  • 66. A linguagem OWL Classes Disjunção entre classes <owl:Class rdf:about=&quot;ProfessorAdjunto&quot;> <owl:disjointWith rdf:resource=&quot;#ProfessorSubstituto&quot;/> <owl:disjointWith rdf:resource=&quot;#ProfessorVisitante&quot;/> </owl:Class>
  • 67. A linguagem OWL Classes Equivalência entre classes <owl:Class rdf:ID=“Docente&quot;> <owl:equivalentClass rdf:resource=&quot;#Professor&quot;/> </owl:Class>
  • 68. A linguagem OWL Propriedades Propriedades Estabelecem relacionamentos indivíduo-indivíduo e/ou indivíduo-dados Propriedades de objeto Ex: ensinadoPor Propriedade de tipo de dados Ex: nome, fone
  • 69. A linguagem OWL Propriedades Propriedade de Tipo de Dados <owl:DataTypeProperty rdf:ID=“idade”> <rdfs:range rdf:resource=“http://www.w3.org.2001/ XMLSchema#NonNegativeInteger&quot;/> </owl:DataTypeProperty>
  • 70. A linguagem OWL Propriedades Propriedade de Objeto <owl:ObjectProperty rdf:ID=“ensinadoPor”> <rdfs:domain rdf:resource=&quot;#Disciplina&quot;/> <rdfs:range rdf:resource=&quot;#Professor&quot;/> <rdfs:subpropertyof rdf:resource=&quot;#envolve&quot;/> </owl:objectProperty>
  • 71. A linguagem OWL Propriedades Propriedades inversas <owl:ObjectProperty rdf:ID=“ensina”> <rdfs:range rdf:resource=&quot;#Disciplina&quot;/> <rdfs:domain rdf:resource=&quot;#Professor&quot;/> <owl:inverseof rdf:resource=&quot;#ensinadoPor&quot;/> </owl:objectProperty>
  • 72. A linguagem OWL Propriedades Restrições das propriedades Valores (allValuesFrom, someValuesFrom, hasValue) Cardinalidade (maxCardinality, minCardinality, Cardinality)
  • 73. A linguagem OWL Propriedades allValuesFrom <owl:Class rdf:about=“#disciplinaObrigatoria&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:allValuesFrom rdf:resource=“ProfessorAdjunto&quot;/> </owl:Restriction> <rdfs:subClassOf> </owl:Class> Toda disciplina obrigatória tem que ser ensinada por um professor adjunto!
  • 74. A linguagem OWL Propriedades hasValue <owl:Class rdf:about=“#disciplinaBD&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:hasValue rdf:resource=“#91002043177&quot;/> </owl:Restriction> <rdfs:subClassOf> </owl:Class> Toda disciplina de Banco de Dados tem que ser ensinada pela professora Berna Farias!
  • 75. A linguagem OWL Propriedades someValuesFrom <owl:Class rdf:about=“#professor&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensina&quot;/> <owl:someValuesFrom rdf:resource=“#DisciplinaPosGraduacao&quot;/> </owl:Restriction> <rdfs:subClassOf> </owl:Class> Todos os professores devem ensinar pelo menos uma disciplina da pós-graduação!
  • 76. A linguagem OWL Propriedades Restrições de cardinalidade <owl:Class rdf:about=“#disciplina&quot;> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;#ensinadoPor&quot;/> <owl:minCardinality rdf:datatype=“&xsd;nonNegativeInteger&quot;> 1 </owl:minCardinality> </owl:Restriction> <rdfs:subClassOf> </owl:Class>
  • 77. A linguagem OWL Propriedades Propriedades das propriedades: são definidas diretamente nas propriedades owl:TransitiveProperty owl:SymmetricProperty owl:FunctionalProperty owl:InversefunctionalProperty
  • 78. A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“temMesmaNota”> <rdf:type rdf:resource=“&owl;TransitiveProperty”/> <rdf:type rdf:resource=“&owl;SymmetricProperty”/> <rdfs:domain rdf:resource = “#aluno”/> <rdfs:range rdf:resource = “#aluno”/> </owl:ObjectProperty>
  • 79. A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“supervisor”> <rdf:type rdf:resource=“&owl;FunctionalProperty”/> <rdfs:domain rdf:resource = “#professor”/> <rdfs:range rdf:resource = “#professor”/> </owl:ObjectProperty> Um professor tem no máximo um supervisor!
  • 80. A linguagem OWL Propriedades Exemplo <owl:ObjectProperty rdf:ID=“éCPFde”> <rdf:type rdf:resource=“&owl;InversaFunctionalProperty”/> <rdfs:domain rdf:resource = “#CPF”/> <rdfs:range rdf:resource = “#professor”/> </owl:ObjectProperty> Dois professores não podem ter o mesmo valor para CPF!
  • 81. A linguagem OWL União de classes <owl:Class rdf:ID=“pessoasUni”> <owl:unionOf rdf:parseType = “Collection”> <owl:Class rdf:about = “professor”/> <owl:Class rdf:about = “aluno”/> </owl:unionOf> </owl:Class>
  • 82. A linguagem OWL Interseção de classes <owl:Class rdf:ID = “professorCS”> <owl:intersectionOf rdf:parseType=“Collection”> <owl:Class rdf:about = “professor”/> <owl: Restriction> <owl:onProperty rdf:resource=“#pertenceA”/> <owl:hasvalue rdf:resource=“#DepartamentoCS”/> </owl:Restriction> </owl:intersectionOf> </owl:Class>
  • 83. A linguagem OWL Criação de instâncias <rdf:Description rdf:ID = “91887711”> <rdf:type rdf:resource =“#professor”> </rdf:Description> Ou <professor rdf:ID = “91887711”/>
  • 84. Etapas do Projeto de uma Ontologia Determinar o escopo Considerar o reuso Enumerar termos Definir taxonomia Definir propriedades Definir restrições Definir instâncias
  • 85. 1. Determinar o escopo Qual o domínio a ser coberto pela ontologia? Para quê será usada esta ontologia? Para que tipo de questões a informação na ontologia deve oferecer respostas?
  • 86. 2. Considerar o reuso Por que reutilizar outras ontologias? Para poupar esforços Para interagir com as ferramentas que usam outras ontologias Para empregar ontologias que foram validadas através do uso em outras aplicações.
  • 87. 3. Enumerar termos Quais os termos sobre os quais vamos falar? Quais as propriedades desses termos? O que queremos dizer sobre esses termos?
  • 88. 4. Definir taxonomia Definir as classes que irão compor a ontologia Definir a hierarquia das classes, incluindo os conceitos de superclasses e subclasses
  • 89. 5. Definir propriedades Definir as propriedades de objetos que definem relacionamentos entre classes Definir propriedades de dados Definir domain e range para as propriedades
  • 90. 6. Definir restrições Restrições sobre Propriedades (facetas) descrevem ou limitam o conjunto de valores possíveis para as propriedades
  • 91. 7. Definir instâncias Criar as instâncias das classes Atribuir os valores das propriedades para as instância de acordo com as restrições definidas
  • 92. Exemplo Criar uma ontologia para representação de relações de parentesco Quais termos serão representados pela ontologia? Pai, mãe, filho, filha, irmã, irmão...
  • 96. Protégé – Criação de Propriedades
  • 97. Protégé – Criação de Instâncias
  • 98. Protégé – Criação de Restrições
  • 99. Protégé – Criação de Restrições
  • 100. Protégé – Criação de Restrições
  • 101. Protégé – Criação de Restrições
  • 102. Protégé – Criação de Instâncias
  • 104. Ontologias Ferramentas Editores de Ontologias e de Metadados. Ex.: OilEd, OntoEdit, Protégé Ferramentas de Visualização. Ex.: OilViz (do OilEd), TGViz Mecanismos de Inferência (reasoners). Ex.: JESS, FaCT, RACER, Pellet
  • 105. Bibliotecas de Ontologias Reutilização de ontologias é importante! Sistemas de gerência de bibliotecas de ontologias oferecem Suporte à reutilização Infra-estrutura para armazenamento, busca e recuperação de ontologias Mecanismos de tradução de ontologias Suporte para a edição de ontologias Ex: Ontolingua, WebOnto, Ontology Server
  • 106. Web Semântica Principais Tecnologias metadados ontologias agentes lógica
  • 107. Agentes de Software “ Em vez de fazer tudo para os usuários, os agentes (de software) vão achar maneiras possíveis de atender às suas necessidades, e então oferecer as opções ao usuário.” (James Hendler)
  • 108. Agentes de Software Características Autonomia Proatividade Adaptatividade Mobilidade Interatividade ... Comportam-se mais como um assistente do que como uma ferramenta
  • 109. Agentes de software na Web Semântica Serão responsáveis por: Coordenar tarefas de busca Comparação e negociação na rede Não vão agir de modo 100% autônomo Vão realizar o trabalho “pesado” para que o usuário tome decisões
  • 110. Agentes de Software na Web Semântica Vão se comunicar através do compartilhamento de ontologias do domínio Ontologias servirão como base para a troca de informações entre agentes de software
  • 111. Agentes de Software na Web Semântica E se não existir uma única ontologia?
  • 112. Agentes de Software na Web Semântica Como os agentes de software determinam se conceitos compartilhados são semanticamente equivalentes?
  • 113. Agentes de Software na Web Semântica Como agentes de software determinam se conceitos diferentes têm o mesmo significado? Como agentes de software determinam se suas ontologias pertencem a um mesmo domínio?
  • 114. Agentes de Software na Web Semântica Como prover a interoperabilidade semântica entre os agentes? Alinhamento de ontologias!
  • 115. Agentes de Software Interoperabilidade semântica Agente 1 Ontologia 1 Agente 2 Ontologia 2 mapeamentos semânticos (O 1 , O 2 ) Domínio A alinhamento
  • 116. Alinhamento de ontologias Publicacao ISBN autor ano String String Integer Livro editora String Periódico classif. String Livro editora String ISBN String ano Integer Ontologia 1 Ontologia 2 Artigo confer. String Autor nome String Artigo confer. String
  • 117. Web Semântica Principais Tecnologias metadados ontologias agentes lógica
  • 118. Lógica Como pode ser usada na Web Semântica? Para descobrir novos conhecimentos e auxiliar na tomada de decisões
  • 119. Lógica Pode ser usada para descobrir conhecimento ontológico que não está explícito Ex: Todos os professores são funcionários da universidade Se Berna é uma professora então Berna é uma funcionária da universidade
  • 120. Lógica Pode ser usado por agentes inteligentes para auxiliar a tomada de decisões Ex: Um agente de compras pode decidir oferecer um desconto para um cliente com base na seguinte regra clienteFiel(X)  desconto(5%)
  • 121. Lógica Pode oferecer explicações para conclusões Os passos para se chegar a uma conclusão podem ser rastreados Recursos importante porque aumenta a confiança dos usuários
  • 122. Lógica Explicações são necessárias para a comunicação entre agentes Agente 1 Agente 2 Você me deve R$100,00 Por que? compra(X, Item) ٨ preco(Item,P) ٨ entrega (Item, X)  deve(X, P)
  • 123. Lógica Deverá ser capaz de ser processada...
  • 124. Aplicações Comércio eletrônico O processamento de informações é feito manualmente O que fazer? Usar agentes para interpretar as informações Usar ontologias Benefícios com a Web Semântica Informações extraídas em um único formato
  • 125. Aplicações Web Semântica Geo-espacial Busca Semântica Dicionários Geográficos Catálogos de Metadados (Opções + simples de compartilhamento) Geo-Ontologias Descrição de dados e serviços espaciais
  • 126. Conclusão A Web Semântica é uma evolução da Web atual Agentes farão o “trabalho pesado” Ontologias serão usadas para definição de vocabulários comuns para os agentes A troca de informações entre os agentes poderá ser feita com linguagens baseadas em XML Estratégias de negociação poderão ser escritas em lógica O primeiro passo poderá ser dados pelas grandes organizações
  • 127. Conclusão Grande desafio: adoção da tecnologia!
  • 128. Bibliografia Breitman, K. “Web Semântica: a Internet do Futuro”. Editora LTC, 2005. Goméz-Pérez, A., Corcho, O., Fernandez-Lopez, M. “Ontological Engineering (Advanced Information and Knowledge Processing)”, Springer-Verlag, 2004. Uschold, M., Gruninger, M. “ Ontologies and Semantics for Seamless Connectivity”. ACM SIGMOD Record Vol. 33, Issue 4, 2004. “ DAML+OIL: a Reason-able Web Ontology Language”. Keynote talk given at WES/CAiSE 2002, Toronto, May 28th, 2002. “ OWL Web Ontology Language Guide”. W3C Recommendation 10 February 2004 in http:// www.w3.org/TR/owl-guide/ Lacy, L.W. “OWL – Representing Information Using the Web Ontology Language”, Trafford, 2005. RDF/XML Syntax Specification (Revised). Dave Beckett, Editor. W3C Recommendation, 10 February 2004, Available at: http://www.w3.org/TR/rdf-syntax-grammar/.