SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Ferramentas da Web Semântica
Aplicadas à Gestão do Conhecimento
Ligado ao Linux
Ferramentas da Web SemânticaFerramentas da Web Semântica
Aplicadas à Gestão do ConhecimentoAplicadas à Gestão do Conhecimento
Ligado aoLigado ao LinuxLinux
Guillaume Barreau
UFBA
gui@im.ufba.br
MotivaçãoMotivaçãoMotivação
Em 10 anos, a Web revolucionou o nosso conceito de
informação:
– Crescimento exponencial foi possível pela simplicidade do
html/http
– Vitima do seu próprio sucesso:
• 5 milhões de terabytes gerados em 2002 800Mb/pessoa
• de que serve esta informação se ela não é acessível na hora
certa?
– Por enquanto a única pergunta que você pode fazer a uma
motor de busca é :
• “Que paginas contem estas palavras?“
– Possibilidade de definir perguntas de mais alto nível:
• Qual é a população do Irã?
• Ache tutoriais de java que sejam adequados para alguem que
já programa em python
Motivação (2)Motivação (2)Motivação (2)
Outra revolução dos anos 90: Linux e o software livre
Muita informação disponível
Experiência pessoal configurando Linux
– Quem busca (muito), encontra
– Ideal seria poder perguntar:
• “Quero todos as soluções ao problema X na instalação
do hardware Y”
… e melhor ainda
• “Ordene estas soluções em função da similaridade com
a configuração do meu sistema”
Estrutura da palestraEstrutura da palestraEstrutura da palestra
Motivação
Visão geral de Web Semântica (W3C)
Conceitos chaves da Web Semântica (W3C)
– Metadados
– XML e XML schema
– URIs
– RDF
– Ontologias
Conclusão
O que é a Web Semântica?O que é a Web Semântica?O que é a Web Semântica?
A Web Semântica é uma extensão da Web atual
– a informação passa a ser estruturada de forma
que permite uma melhor cooperação entre
computadores e pessoas.
Web AtualWeb AtualWeb Atual
A informação só pode ser
apresentada na tela para
leitura por um humano.
A informação só pode ser
apresentada na tela para
leitura por um humano.
Web SemânticaWeb SemânticaWeb Semântica
A informação esta estruturada de
tal forma que máquinas possam a
“entender” e usa-la de algum jeito
A informação esta estruturada de
tal forma que máquinas possam a
“entender” e usa-la de algum jeito
O que é a Web Semântica? (2)O que é a Web Semântica? (2)O que é a Web Semântica? (2)
Web Semântica documentos compreensíveis por
máquinas
– uma inteligência artificial mágica que, de repente,
vai permitir que as máquinas entendam as
elucubrações humanas? Não!
Deve se apoiar na habilidade de uma máquina
resolver problemas bem definidos, usando dados
bem definidos.
– Mais trabalho na elaboração dos dados
– Esforços de padronização
Para que os dados sejam bem definidos, devem ser
colocados em contexto pela adição de metadados.
Metadados contêm a “semântica” dos dados aos
quais se referem
– graças a eles podemos esperar que o computador
saiba o que fazer com o dado
Como criar a Web Semântica (2)Como criar a Web Semântica (2)Como criar a Web Semântica (2)
O que são metadados?O que sãoO que são metadadosmetadados??
São dados.
Mas são dados que fazem referencia a outros dados
– dados sobre dados
São destinados ao consumo por máquinas.
Exemplo de metadados (1)Exemplo deExemplo de metadadosmetadados (1)(1)
5353 1234 5678 5353
O dado acima anotado num pedaço de papel fica
sem sentido até para um humano
Exemplo de metadados (2)Exemplo deExemplo de metadadosmetadados (2)(2)
Um computador não sabe restabelecer contexto de
forma implícita
O papel do metadado é dar informação a máquina
sobre o contexto de uma forma que ela possa usar:
5252 1234 5678 5353
Número de cartão de
crédito de Maria
Azevedo
Metadados em HtmlMetadadosMetadados emem HtmlHtml
<html>
<head>
<title>Meu CV</title>
</head>
<body>
<h1>Meu CV</h1>
<h2>Dados para contato</h2>
…
</body>
</html>
Metadado
Não é Metadado
Metadados em HtmlMetadadosMetadados emem HtmlHtml
A grande maioria dos tags em html define a
aparência do documento.
– Orientam o computador sobre como representar o
conteúdo na tela.
Não dão nenhum auxílio sobre o sentido/finalidade
do conteúdo.
Alguns tags na seção <head> fazem este papel de
metadado
– Mas são pouco e mal usados
– E têm um poder limitado
XML em 3 minutosXML em 3 minutosXML em 3 minutos
um documento XML é um arquivo texto estruturado em blocos
delimitados por pares de tags:
– <nome> … </nome>
– <preço> … </preço>
Estes blocos podem conter outros blocos ou podem conter
dados não-estruturados (texto)
Todo tag tem que ser fechado pelo tag correspondente
Um tag pode conter outro(s) completamente mas não:
<nome>
<preço>
</nome>
</preço>
<?xml version="1.0"?>
<Encomenda>
<Cliente>
< PrimeiroNome >Luiz</PrimeiroNome>
< UltimoNome >Silva</ UltimoNome >
</Cliente>
<Preco>3</Preco>
<Moeda>Reais</Moeda>
</Encomenda>
PrimeiroNome
Encomenda
Cliente
UltimoNome
Preço Moeda
XML: exemploXML: exemploXML: exemplo
XML vs. HTMLXMLXML vsvs. HTML. HTML
Estrutura geral:
– Ambos usam pares de tags para marcar inicio e fim de
blocos.
Tags possíveis:
– HTML tem um conjunto de tags predefinido
– XML permite que você crie seus próprios tags
Finalidade:
– HTML define o aspecto visual do documento
– XML revela a estrutura lógica interna do documento
estruturando este em forma hierárquica. Cada ponto desta
hierarquia é endereçável.
XML SchemaXMLXML SchemaSchema
XML Schema permite restrições adicionais sobre um
documento:
– define os tags que são válidos
– define regras de validade para o conteúdo de cada tag
• O tag <festa> deve conter
– exatamente um tag <local>
– 10 ou mais tags <convidado>
• O tag <convidado> deve conter
– exatamente um tag <nome>
– ou um tag <telefone_fixo> ou um tag <telefone_cel>
…
Define uma estrutura de dados
Da para fazer a Web
Semântica só com XML?
Da para fazer a WebDa para fazer a Web
Semântica só com XML?Semântica só com XML?
Isto é como uma maquina enxerga uma pagina web escrita em
qualquer linguagem natural
XML ajudaXML ajudaXML ajuda
XML permite que o texto seja balisado/estruturado por sinais faceis
de interpretar por um computador (os tags)
<contatos>
<cv>
<formacao>
<experiencia>
<nome>
Mas não resolve porque …Mas não resolve porque …Mas não resolve porque …
os tags sao enxergados assim pelo computador
<Χς>
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
XML Schema ajuda um pouco
mais
XMLXML SchemaSchema ajuda um poucoajuda um pouco
maismais
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
< Χς >
… ja que identificam as partes correspondentes de documentos
de uma determinada classe
<πριϖατε>
Mas podem existir variações
de esquemas
Mas podem existir variaçõesMas podem existir variações
de esquemasde esquemas
<curiculo>
<name>
<contatos>
<titulacao>
<trabalhos>
Outra pessoa usa tags diferentes para um CV
XML e XML Schema definem a
sintaxe de um documento
XML e XMLXML e XML SchemaSchema definem adefinem a
sintaxe de um documentosintaxe de um documento
<Χς>
<ναµε>
<εδυχατιον>
<ωορκ>
<πριϖατε>
Mas não define a semânticaMas não define a semântica
Sintaxe vs SemânticaSintaxeSintaxe vsvs SemânticaSemântica
Sintaticamente correta mas com semântica anômala:
– Idéias verdes e descoloridas dormem
furiosamente (Noam Chomsky)
– Ela chegou durante uma hora
Sentido por conexãoSentido por conexãoSentido por conexão
O sentido se estabelece através de relações entre as
coisas
Só podemos definir formalmente o sentido de uma
palavra usando outras palavras
URLs é a cola que mantém a Web atual junta
Web Semântica usa como cola algo mais geral: URIs
URIsURIsURIs
Uniform Resource Identifier
Generalização do conceito de URL
E uma forma globalizada de dar um nome para as
coisas
Uma URL ou um endereço email são únicos
Podem fazer o papel de chave primaria
URIs (2)URIsURIs (2)(2)
Uma URL dá acesso a um recurso pela Internet (um
documento, uma imagem, uma musica, …)
Uma URI não garante que haja algo interessante na
outra ponta do link
Ela pode ser simplesmente uma forma de se referir a
algo que só pode existir fora da Internet
– por exemplo:
http://www.topicmaps.org/xtm/1.0/language.xtm#de
e usado para se referir a língua portuguesa
Resource Description
Framework (RDF)
Resource DescriptionResource Description
FrameworkFramework (RDF)(RDF)
serve para representar metadados sobre recursos da web:
– titulo, autor e ultima modificação de uma pagina Web
– copyright e informação sobre a licença de uso de uma foto
na Web
mas pode ser usado também para representar informações
sobre coisas que:
– podem ser identificadas pela Web
– não podem ser obtidas pela Web
por exemplo, para adicionar informações sobre itens que
podem ser comprados numa loja on-line (preço,
disponibilidade,…) ou sobre pessoas (email,interesses,…)
RDFRDFRDF
RDF permite construir enunciados do tipo:
– sujeito S tem o valor V para a propriedade P
– triplas (P,S,V)
• S é o recurso, P e V juntos descrevem S
Um exemplo:
– (autor,http://www.example.org/index.html,Pedro)
RDF com URIsRDF comRDF com URIsURIs
RDF usa URIs para diminuir a ambigüidade
– (autor,http://www.abc.org/index.html,Pedro)
http://www.abc.org/prof/pedrohttp://www.abc.org/prof/pedro
http://purl.org/DC#Creatorhttp://purl.org/DC#Creator
Representação em grafoRepresentação em grafoRepresentação em grafo
http://purl.org/DC#Creatorhttp://purl.org/DC#Creator
http://www.abc.org/index.htmlhttp://www.http://www.abcabc.org/index.html.org/index.html
http://www.abc.org/prof/pedro/http://www.http://www.abcabc.org/.org/profprof//pedropedro//
DCMI (Dublin Core Metadata
Initiative)
DCMI (Dublin CoreDCMI (Dublin Core MetadataMetadata
InitiativeInitiative))
Title
Creator
Subject
Description
Publisher
Contributor
Date
Type
Format
Identifier
Source
Language
Relation
Coverage
Rights
Dublin CoreDublin CoreDublin Core
Exemplo de uso do Dublin Core
<? xml version="1.0" ?>
<RDF xmlns = http://w3.org/TR/1999/PR-rdf-syntax-19990105#
xmlns:DC = "http://purl.org/DC#">
<Description about = "http://dstc.com.au/report.html">
<DC:Title>The Future of Metadata</DC:Title>
<DC:Creator>Jacky Crystal </DC:Creator>
<DC:Date>1998-01-01 </DC:Date>
<DC:Subject>Metadata, RDF, Dublin Core</DC:Subject>
</Description>
</RDF>
O projeto FOAF (Friend OF A
Friend)
O projeto FOAF (O projeto FOAF (FriendFriend OF AOF A
FriendFriend))
Objetivo:
criar uma web interpretável por máquinas de
homepages que descrevam:
– pessoas
– as relações entre elas
– as coisas que elas criam e fazem
FOAF Basics
Agent
Person
name
nick
title
homepage
mbox
mbox_sha1sum
img
depiction
surname
family_name
givenname
firstName
Personal Info
weblog
knows
interest
currentProject
pastProject
plan
based_near
workplaceHomepage
workInfoHomepage
schoolHomepage
topic_interest
publications
dnaChecksum
Elementos do FOAFElementos do FOAFElementos do FOAF
Projects and Groups
Project
Organization
Group
member
membershipClass
fundedBy
theme
Exemplo de arquivo FOAFExemplo de arquivo FOAFExemplo de arquivo FOAF
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<foaf:Person>
<foaf:name>Edd Dumbill</foaf:name>
<foaf:mbox rdf:resource="mailto:edd@xml.com" />
<foaf:nick>edd</foaf:nick>
<foaf:workplacehomepage rdf:resource="http://xml.com/" />
<foaf:depiction
rdf:resource="http://heddley.com/edd-shoulders.jpg" />
</foaf:Person>
</rdf:RDF>
Dublin Core e FOAFDublin Core e FOAFDublin Core e FOAF
Uma falha do RDFUma falha do RDFUma falha do RDF
RDF usa como sujeitos:
– recursos da web
• web pages, imagens, …
– coisas que podem ser identificadas na web mas
que não estão na web:
• ex: um produto usando uma url que descreva o produto
Mas em certos casos, haverá ambigüidade:
– enunciado rdf onde a pagina web que dá as
especificações de um produto
– o enunciado se refere à pagina ou ao produto?
OntologiasOntologiasOntologias
XML + XML SchemaXML + XML Schema
RDFRDFRDF
OntologiasOntologiasOntologias
URIURIUnicodeUnicode
LogicaLogicaLogica
O que é uma ontologia?O queO que éé uma ontologia?uma ontologia?
Em filosofia, ontologia é o estudo dos tipos de coisas
que existem
– Tentativas por Aristóteles de classificar as coisas
do mundo
“Onto” vem de uma palavra grega que significa
existência, ser
O que é uma ontologia? (2)O queO que éé uma ontologia? (2)uma ontologia? (2)
Uma ontologia define, para uma determinada área de
conhecimento,
– os termos básicos
– as relações entre os termos desta área
– as regras para combinar termos em relações de forma
definir extensões do vocabulário
Studer(98)
Manipulavel
por maquina
Conceitos, propriedades,
funções, axiomas
são definidos
explicitamente
Conhecimento
concensual
Um modelo abstrato
de algum fenomeno
do mundo
Uma especificação explicita e formal de uma conceitualização compartilhada
O que é uma ontologia? (3)O queO que éé uma ontologia?uma ontologia? (3)(3)
Por que desenvolver uma
ontologia?
PorPor que desenvolver umaque desenvolver uma
ontologia?ontologia?
Para compartilhar uma compreensão da estrutura de
certo tipo de informação entre pessoas e agentes de
software
Para permitir a reciclagem do conhecimento em um
domínio
Para explicitar suposições/hipóteses feitas sobre um
domínio
Para analisar o conhecimento de um domínio
Elementos de uma ontologiaElementos de uma ontologiaElementos de uma ontologia
Conceitos (classes) e suas hierarquias
Propriedades dos conceitos (slots/atributos)
Restrições sobre as propriedades (tipo, cardinalidade,
domínio)
Relações entre conceitos (disjunto, equivalência)
Instancias
Etapas da construção de uma
ontologia
Etapas da construção de umaEtapas da construção de uma
ontologiaontologia
Domínio: geografia
Aplicação: agente planificador de rotas
Possíveis perguntas:
– Qual é a distancia entre duas cidades?
– Que tipo de conexão existe entre duas cidades?
– Em que país se encontra uma cidade?
– Quantas fronteiras são atravessadas?
país
cidade capital
fronteira
conexao
Conexao_por_terra
conexao_area
conexao_maritima
estrada
conexao_por_trem
moeda
Enumeração dos termos
importantes
EnumeraEnumeraçãção dos termoso dos termos
importantesimportantes
Definição de classes e da
hierarquia de classes
DefiniDefiniçãção de classes e dao de classes e da
hierarquia de classeshierarquia de classes
• cardinalidade do slot
Ex: faz_fronteira_com multiplo, ponto_inicio unico
• tipo de valor do slot
Ex: faz_fronteira_com Pais
ElementoGeografico
Pais Cidadetem_capital
e_capital_defaz_fronteira_com
Conexao
ponto_final
ponto_inicio
Capital
Definição de slotsDefiniDefiniçãção de slotso de slots
-slots transitivos
A.conexao(B)
B.conexao(C) A.conexao(C)
-slots simetricos
Ex. A faz_fronteira_com B B faz_fronteira_com A
- slot inverso (redundante, mas explicito)
Pais
tem_capital
e_capital_de
Capital
Questões relacionadas com
slots
QuestQuestõões relacionadas comes relacionadas com
slotsslots
Ferramentas para ontologias:
Protégé
Ferramentas para ontologias:Ferramentas para ontologias:
ProtégéProtégé
Camadas da Web SemânticaCamadas da Web SemânticaCamadas da Web Semântica
XML + XML SchemaXML + XML Schema
RDFRDFRDF
OntologiasOntologiasOntologias
URIURIUnicodeUnicode
LogicaLogicaLogica
ConclusãoConclusãoConclusão
a Web Semântica é uma tentativa de construir um
edifício complexo que permita que os computadores
nos auxiliem melhor no uso e na filtragem da
informação
Objetivo ambicioso
Esforço na produção de metadados
Padronização de vocabulários
Massa critica necessaria
Formalismos complexos vão ser necessárias boas
ferramentas para auxiliar na criação destes
metadados
Enquanto isso, naEnquanto isso, na NasaNasa ……
Outras Webs
sao estudadas
OutrasOutras WebsWebs
sao estudadassao estudadas
Antes do coquetelAntes doAntes do coquetelcoquetel
soniferossoniferossoniferoscafeinacafeinacafeinaestimulante (benzedrine)estimulanteestimulante ((benzedrinebenzedrine))
LSDLSDLSD mescalinamescalinamescalinamaconhamaconhamaconha

Contenu connexe

Similaire à Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica Trabalho
Adagenor Ribeiro
 
Webpages
WebpagesWebpages
Webpages
EMSNEWS
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor FranciosneyRevisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
franciosney
 

Similaire à Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux (20)

Websemantica
WebsemanticaWebsemantica
Websemantica
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
Html E Websemantica Trabalho
Html E Websemantica TrabalhoHtml E Websemantica Trabalho
Html E Websemantica Trabalho
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
 
Webpages
WebpagesWebpages
Webpages
 
Webpages
WebpagesWebpages
Webpages
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor FranciosneyRevisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
 
Montando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões webMontando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões web
 
Front end - the right way
Front end - the right wayFront end - the right way
Front end - the right way
 
Web_2.0 Web Standards Web Semântica
Web_2.0 Web Standards Web SemânticaWeb_2.0 Web Standards Web Semântica
Web_2.0 Web Standards Web Semântica
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
Disciplina de Laboratório WEB
Disciplina de Laboratório WEBDisciplina de Laboratório WEB
Disciplina de Laboratório WEB
 
Apresentando o HTML
Apresentando o HTMLApresentando o HTML
Apresentando o HTML
 
Html
HtmlHtml
Html
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
 
Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
 
GT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEBGT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEB
 
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
Html5,css3,javascript   o lugar onde sonhos se tornam realidade.Html5,css3,javascript   o lugar onde sonhos se tornam realidade.
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
 
Html5,css3,javascript: O lugar onde sonhos se tornam realidade.
Html5,css3,javascript: O lugar onde sonhos se tornam realidade.Html5,css3,javascript: O lugar onde sonhos se tornam realidade.
Html5,css3,javascript: O lugar onde sonhos se tornam realidade.
 

Plus de elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Dernier

Dernier (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

  • 1. Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux Ferramentas da Web SemânticaFerramentas da Web Semântica Aplicadas à Gestão do ConhecimentoAplicadas à Gestão do Conhecimento Ligado aoLigado ao LinuxLinux Guillaume Barreau UFBA gui@im.ufba.br
  • 2. MotivaçãoMotivaçãoMotivação Em 10 anos, a Web revolucionou o nosso conceito de informação: – Crescimento exponencial foi possível pela simplicidade do html/http – Vitima do seu próprio sucesso: • 5 milhões de terabytes gerados em 2002 800Mb/pessoa • de que serve esta informação se ela não é acessível na hora certa? – Por enquanto a única pergunta que você pode fazer a uma motor de busca é : • “Que paginas contem estas palavras?“ – Possibilidade de definir perguntas de mais alto nível: • Qual é a população do Irã? • Ache tutoriais de java que sejam adequados para alguem que já programa em python
  • 3. Motivação (2)Motivação (2)Motivação (2) Outra revolução dos anos 90: Linux e o software livre Muita informação disponível Experiência pessoal configurando Linux – Quem busca (muito), encontra – Ideal seria poder perguntar: • “Quero todos as soluções ao problema X na instalação do hardware Y” … e melhor ainda • “Ordene estas soluções em função da similaridade com a configuração do meu sistema”
  • 4. Estrutura da palestraEstrutura da palestraEstrutura da palestra Motivação Visão geral de Web Semântica (W3C) Conceitos chaves da Web Semântica (W3C) – Metadados – XML e XML schema – URIs – RDF – Ontologias Conclusão
  • 5. O que é a Web Semântica?O que é a Web Semântica?O que é a Web Semântica? A Web Semântica é uma extensão da Web atual – a informação passa a ser estruturada de forma que permite uma melhor cooperação entre computadores e pessoas. Web AtualWeb AtualWeb Atual A informação só pode ser apresentada na tela para leitura por um humano. A informação só pode ser apresentada na tela para leitura por um humano. Web SemânticaWeb SemânticaWeb Semântica A informação esta estruturada de tal forma que máquinas possam a “entender” e usa-la de algum jeito A informação esta estruturada de tal forma que máquinas possam a “entender” e usa-la de algum jeito
  • 6. O que é a Web Semântica? (2)O que é a Web Semântica? (2)O que é a Web Semântica? (2) Web Semântica documentos compreensíveis por máquinas – uma inteligência artificial mágica que, de repente, vai permitir que as máquinas entendam as elucubrações humanas? Não! Deve se apoiar na habilidade de uma máquina resolver problemas bem definidos, usando dados bem definidos. – Mais trabalho na elaboração dos dados – Esforços de padronização
  • 7. Para que os dados sejam bem definidos, devem ser colocados em contexto pela adição de metadados. Metadados contêm a “semântica” dos dados aos quais se referem – graças a eles podemos esperar que o computador saiba o que fazer com o dado Como criar a Web Semântica (2)Como criar a Web Semântica (2)Como criar a Web Semântica (2)
  • 8. O que são metadados?O que sãoO que são metadadosmetadados?? São dados. Mas são dados que fazem referencia a outros dados – dados sobre dados São destinados ao consumo por máquinas.
  • 9. Exemplo de metadados (1)Exemplo deExemplo de metadadosmetadados (1)(1) 5353 1234 5678 5353 O dado acima anotado num pedaço de papel fica sem sentido até para um humano
  • 10. Exemplo de metadados (2)Exemplo deExemplo de metadadosmetadados (2)(2) Um computador não sabe restabelecer contexto de forma implícita O papel do metadado é dar informação a máquina sobre o contexto de uma forma que ela possa usar: 5252 1234 5678 5353 Número de cartão de crédito de Maria Azevedo
  • 11. Metadados em HtmlMetadadosMetadados emem HtmlHtml <html> <head> <title>Meu CV</title> </head> <body> <h1>Meu CV</h1> <h2>Dados para contato</h2> … </body> </html> Metadado Não é Metadado
  • 12. Metadados em HtmlMetadadosMetadados emem HtmlHtml A grande maioria dos tags em html define a aparência do documento. – Orientam o computador sobre como representar o conteúdo na tela. Não dão nenhum auxílio sobre o sentido/finalidade do conteúdo. Alguns tags na seção <head> fazem este papel de metadado – Mas são pouco e mal usados – E têm um poder limitado
  • 13. XML em 3 minutosXML em 3 minutosXML em 3 minutos um documento XML é um arquivo texto estruturado em blocos delimitados por pares de tags: – <nome> … </nome> – <preço> … </preço> Estes blocos podem conter outros blocos ou podem conter dados não-estruturados (texto) Todo tag tem que ser fechado pelo tag correspondente Um tag pode conter outro(s) completamente mas não: <nome> <preço> </nome> </preço>
  • 14. <?xml version="1.0"?> <Encomenda> <Cliente> < PrimeiroNome >Luiz</PrimeiroNome> < UltimoNome >Silva</ UltimoNome > </Cliente> <Preco>3</Preco> <Moeda>Reais</Moeda> </Encomenda> PrimeiroNome Encomenda Cliente UltimoNome Preço Moeda XML: exemploXML: exemploXML: exemplo
  • 15. XML vs. HTMLXMLXML vsvs. HTML. HTML Estrutura geral: – Ambos usam pares de tags para marcar inicio e fim de blocos. Tags possíveis: – HTML tem um conjunto de tags predefinido – XML permite que você crie seus próprios tags Finalidade: – HTML define o aspecto visual do documento – XML revela a estrutura lógica interna do documento estruturando este em forma hierárquica. Cada ponto desta hierarquia é endereçável.
  • 16. XML SchemaXMLXML SchemaSchema XML Schema permite restrições adicionais sobre um documento: – define os tags que são válidos – define regras de validade para o conteúdo de cada tag • O tag <festa> deve conter – exatamente um tag <local> – 10 ou mais tags <convidado> • O tag <convidado> deve conter – exatamente um tag <nome> – ou um tag <telefone_fixo> ou um tag <telefone_cel> … Define uma estrutura de dados
  • 17. Da para fazer a Web Semântica só com XML? Da para fazer a WebDa para fazer a Web Semântica só com XML?Semântica só com XML? Isto é como uma maquina enxerga uma pagina web escrita em qualquer linguagem natural
  • 18. XML ajudaXML ajudaXML ajuda XML permite que o texto seja balisado/estruturado por sinais faceis de interpretar por um computador (os tags) <contatos> <cv> <formacao> <experiencia> <nome>
  • 19. Mas não resolve porque …Mas não resolve porque …Mas não resolve porque … os tags sao enxergados assim pelo computador <Χς> < ναµε > <εδυχατιον> <ωορκ> <πριϖατε>
  • 20. XML Schema ajuda um pouco mais XMLXML SchemaSchema ajuda um poucoajuda um pouco maismais CV name education work private < > < > < > < > < > < Χς > < ναµε > <εδυχατιον> <ωορκ> <πριϖατε> CV name education work private < > < > < > < > < > < Χς > < ναµε > <εδυχατιον> <ωορκ> <πριϖατε> < Χς > … ja que identificam as partes correspondentes de documentos de uma determinada classe <πριϖατε>
  • 21. Mas podem existir variações de esquemas Mas podem existir variaçõesMas podem existir variações de esquemasde esquemas <curiculo> <name> <contatos> <titulacao> <trabalhos> Outra pessoa usa tags diferentes para um CV
  • 22. XML e XML Schema definem a sintaxe de um documento XML e XMLXML e XML SchemaSchema definem adefinem a sintaxe de um documentosintaxe de um documento <Χς> <ναµε> <εδυχατιον> <ωορκ> <πριϖατε> Mas não define a semânticaMas não define a semântica
  • 23. Sintaxe vs SemânticaSintaxeSintaxe vsvs SemânticaSemântica Sintaticamente correta mas com semântica anômala: – Idéias verdes e descoloridas dormem furiosamente (Noam Chomsky) – Ela chegou durante uma hora
  • 24. Sentido por conexãoSentido por conexãoSentido por conexão O sentido se estabelece através de relações entre as coisas Só podemos definir formalmente o sentido de uma palavra usando outras palavras URLs é a cola que mantém a Web atual junta Web Semântica usa como cola algo mais geral: URIs
  • 25. URIsURIsURIs Uniform Resource Identifier Generalização do conceito de URL E uma forma globalizada de dar um nome para as coisas Uma URL ou um endereço email são únicos Podem fazer o papel de chave primaria
  • 26. URIs (2)URIsURIs (2)(2) Uma URL dá acesso a um recurso pela Internet (um documento, uma imagem, uma musica, …) Uma URI não garante que haja algo interessante na outra ponta do link Ela pode ser simplesmente uma forma de se referir a algo que só pode existir fora da Internet – por exemplo: http://www.topicmaps.org/xtm/1.0/language.xtm#de e usado para se referir a língua portuguesa
  • 27. Resource Description Framework (RDF) Resource DescriptionResource Description FrameworkFramework (RDF)(RDF) serve para representar metadados sobre recursos da web: – titulo, autor e ultima modificação de uma pagina Web – copyright e informação sobre a licença de uso de uma foto na Web mas pode ser usado também para representar informações sobre coisas que: – podem ser identificadas pela Web – não podem ser obtidas pela Web por exemplo, para adicionar informações sobre itens que podem ser comprados numa loja on-line (preço, disponibilidade,…) ou sobre pessoas (email,interesses,…)
  • 28. RDFRDFRDF RDF permite construir enunciados do tipo: – sujeito S tem o valor V para a propriedade P – triplas (P,S,V) • S é o recurso, P e V juntos descrevem S Um exemplo: – (autor,http://www.example.org/index.html,Pedro)
  • 29. RDF com URIsRDF comRDF com URIsURIs RDF usa URIs para diminuir a ambigüidade – (autor,http://www.abc.org/index.html,Pedro) http://www.abc.org/prof/pedrohttp://www.abc.org/prof/pedro http://purl.org/DC#Creatorhttp://purl.org/DC#Creator
  • 30. Representação em grafoRepresentação em grafoRepresentação em grafo http://purl.org/DC#Creatorhttp://purl.org/DC#Creator http://www.abc.org/index.htmlhttp://www.http://www.abcabc.org/index.html.org/index.html http://www.abc.org/prof/pedro/http://www.http://www.abcabc.org/.org/profprof//pedropedro//
  • 31. DCMI (Dublin Core Metadata Initiative) DCMI (Dublin CoreDCMI (Dublin Core MetadataMetadata InitiativeInitiative)) Title Creator Subject Description Publisher Contributor Date Type Format Identifier Source Language Relation Coverage Rights
  • 32. Dublin CoreDublin CoreDublin Core Exemplo de uso do Dublin Core <? xml version="1.0" ?> <RDF xmlns = http://w3.org/TR/1999/PR-rdf-syntax-19990105# xmlns:DC = "http://purl.org/DC#"> <Description about = "http://dstc.com.au/report.html"> <DC:Title>The Future of Metadata</DC:Title> <DC:Creator>Jacky Crystal </DC:Creator> <DC:Date>1998-01-01 </DC:Date> <DC:Subject>Metadata, RDF, Dublin Core</DC:Subject> </Description> </RDF>
  • 33. O projeto FOAF (Friend OF A Friend) O projeto FOAF (O projeto FOAF (FriendFriend OF AOF A FriendFriend)) Objetivo: criar uma web interpretável por máquinas de homepages que descrevam: – pessoas – as relações entre elas – as coisas que elas criam e fazem
  • 35. Exemplo de arquivo FOAFExemplo de arquivo FOAFExemplo de arquivo FOAF <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:Person> <foaf:name>Edd Dumbill</foaf:name> <foaf:mbox rdf:resource="mailto:edd@xml.com" /> <foaf:nick>edd</foaf:nick> <foaf:workplacehomepage rdf:resource="http://xml.com/" /> <foaf:depiction rdf:resource="http://heddley.com/edd-shoulders.jpg" /> </foaf:Person> </rdf:RDF>
  • 36. Dublin Core e FOAFDublin Core e FOAFDublin Core e FOAF
  • 37. Uma falha do RDFUma falha do RDFUma falha do RDF RDF usa como sujeitos: – recursos da web • web pages, imagens, … – coisas que podem ser identificadas na web mas que não estão na web: • ex: um produto usando uma url que descreva o produto Mas em certos casos, haverá ambigüidade: – enunciado rdf onde a pagina web que dá as especificações de um produto – o enunciado se refere à pagina ou ao produto?
  • 38. OntologiasOntologiasOntologias XML + XML SchemaXML + XML Schema RDFRDFRDF OntologiasOntologiasOntologias URIURIUnicodeUnicode LogicaLogicaLogica
  • 39. O que é uma ontologia?O queO que éé uma ontologia?uma ontologia? Em filosofia, ontologia é o estudo dos tipos de coisas que existem – Tentativas por Aristóteles de classificar as coisas do mundo “Onto” vem de uma palavra grega que significa existência, ser
  • 40. O que é uma ontologia? (2)O queO que éé uma ontologia? (2)uma ontologia? (2) Uma ontologia define, para uma determinada área de conhecimento, – os termos básicos – as relações entre os termos desta área – as regras para combinar termos em relações de forma definir extensões do vocabulário
  • 41. Studer(98) Manipulavel por maquina Conceitos, propriedades, funções, axiomas são definidos explicitamente Conhecimento concensual Um modelo abstrato de algum fenomeno do mundo Uma especificação explicita e formal de uma conceitualização compartilhada O que é uma ontologia? (3)O queO que éé uma ontologia?uma ontologia? (3)(3)
  • 42. Por que desenvolver uma ontologia? PorPor que desenvolver umaque desenvolver uma ontologia?ontologia? Para compartilhar uma compreensão da estrutura de certo tipo de informação entre pessoas e agentes de software Para permitir a reciclagem do conhecimento em um domínio Para explicitar suposições/hipóteses feitas sobre um domínio Para analisar o conhecimento de um domínio
  • 43. Elementos de uma ontologiaElementos de uma ontologiaElementos de uma ontologia Conceitos (classes) e suas hierarquias Propriedades dos conceitos (slots/atributos) Restrições sobre as propriedades (tipo, cardinalidade, domínio) Relações entre conceitos (disjunto, equivalência) Instancias
  • 44. Etapas da construção de uma ontologia Etapas da construção de umaEtapas da construção de uma ontologiaontologia Domínio: geografia Aplicação: agente planificador de rotas Possíveis perguntas: – Qual é a distancia entre duas cidades? – Que tipo de conexão existe entre duas cidades? – Em que país se encontra uma cidade? – Quantas fronteiras são atravessadas?
  • 45. país cidade capital fronteira conexao Conexao_por_terra conexao_area conexao_maritima estrada conexao_por_trem moeda Enumeração dos termos importantes EnumeraEnumeraçãção dos termoso dos termos importantesimportantes
  • 46. Definição de classes e da hierarquia de classes DefiniDefiniçãção de classes e dao de classes e da hierarquia de classeshierarquia de classes
  • 47. • cardinalidade do slot Ex: faz_fronteira_com multiplo, ponto_inicio unico • tipo de valor do slot Ex: faz_fronteira_com Pais ElementoGeografico Pais Cidadetem_capital e_capital_defaz_fronteira_com Conexao ponto_final ponto_inicio Capital Definição de slotsDefiniDefiniçãção de slotso de slots
  • 48. -slots transitivos A.conexao(B) B.conexao(C) A.conexao(C) -slots simetricos Ex. A faz_fronteira_com B B faz_fronteira_com A - slot inverso (redundante, mas explicito) Pais tem_capital e_capital_de Capital Questões relacionadas com slots QuestQuestõões relacionadas comes relacionadas com slotsslots
  • 49. Ferramentas para ontologias: Protégé Ferramentas para ontologias:Ferramentas para ontologias: ProtégéProtégé
  • 50. Camadas da Web SemânticaCamadas da Web SemânticaCamadas da Web Semântica XML + XML SchemaXML + XML Schema RDFRDFRDF OntologiasOntologiasOntologias URIURIUnicodeUnicode LogicaLogicaLogica
  • 51. ConclusãoConclusãoConclusão a Web Semântica é uma tentativa de construir um edifício complexo que permita que os computadores nos auxiliem melhor no uso e na filtragem da informação Objetivo ambicioso Esforço na produção de metadados Padronização de vocabulários Massa critica necessaria Formalismos complexos vão ser necessárias boas ferramentas para auxiliar na criação destes metadados
  • 52. Enquanto isso, naEnquanto isso, na NasaNasa ……
  • 53. Outras Webs sao estudadas OutrasOutras WebsWebs sao estudadassao estudadas Antes do coquetelAntes doAntes do coquetelcoquetel soniferossoniferossoniferoscafeinacafeinacafeinaestimulante (benzedrine)estimulanteestimulante ((benzedrinebenzedrine)) LSDLSDLSD mescalinamescalinamescalinamaconhamaconhamaconha