SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Simple HTML Ontology 
Extension 
Tiago R. Sampaio 
www.trsampaio.com
Conteúdo 
 O que é SHOE? 
 O que SHOE não é... 
 Especificações 
 Ontologias Base da SHOE 
 Criando uma Ontologia Basica 
 Anotação de um documento HTML com SHOE 
 Inferências em Ontologias SHOE 
 Referências
O que é SHOE? 
 O HTML não foi projetado para o 'consumo' do computador, sua função é 
apenas exibir dados para que os seres humanos possam ler. O 
"conhecimento" em uma página web é uma linguagem legível 
(normalmente inglês), definido com textos, tabelas e gráficos, para que 
nós humanos possamos compreender visualmente. 
 Infelizmente, os agentes inteligentes não são humanos. Mesmo com a 
tecnologia de linguagem natural 'state-of-the-art', obter em um 
computador recursos para ler e compreender documentos da web é muito 
complicado. Essa dificuldade faz com que a criação de um agente 
inteligente que pode percorrer a web por si próprio, ler e compreender as 
páginas seja muito difícil. 
 Então, o que pode ser feito?
O que é SHOE? 
 A resposta é simples: SHOE. 
 SHOE elimina esse problema, tornando possível para 
páginas da web a inclusão de conhecimento de uma forma 
que os agentes inteligentes realmente podem ler. 
 SHOE é uma pequena extensão de HTML, que permite que 
os autores das páginas web marcar seus documentos web 
com conhecimento de leitura de máquina. SHOE torna 
possível um agente inteligente real na web.
O que é SHOE? 
 SHOE é uma linguagem de representação do 
conhecimento baseado em HTML. 
 SHOE pode ser utilizado para incorporar os dados a partir 
de uma variedade de fontes e para uma variedade de 
propósitos. Não se destina a qualquer função particular. 
No entanto, SHOE se destina principalmente para tornar a 
web possível para robôs e agentes inteligentes, e assim 
fazer a diferença, tornando a nossa vida um pouco mais 
fácil.
O que é SHOE? 
Desenvolvido por: Grupo de Sistemas de Entendimento Paralelo, 
Prof. Jim Hendler 
Departamento de Ciência da Computação 
Universidade de Maryland 
Resumindo... 
 Superconjunto de HTML; 
 Especifica ontologias para os Agentes da Internet; 
 Descreve semanticamente documentos web com máquinas de conhecimento 
legível; 
 Compatível com SGML e XML; 
 Mas agora o trabalho da Universidade de Maryland em ontologias da web 
continua no Projeto Agentes e Web Semântica, que utiliza as linguagens para 
ontologia Web OWL e DAML+OIL. Essas linguagens são resultados dos esforços 
de padronização e, em parte, são baseadas na SHOE;
O que SHOE não é... 
 Não é apenas uma linguagem de meta-conteúdo. 
 Permite que os designers da web incorporem documentos que não contenham 
apenas informações sobre o “conteúdo” global desses documentos, mas qualquer 
informação arbitrária em tudo. SHOE também permite a interferência automática 
sobre os dados que eles aprendem, fornece um esquema de categorização 
hierárquica, e um mecanismo de ontologia sofisticado projetado especificamente 
para o que a web precisa. 
 Não é propositalmente um sistema detalhado de 
conhecimento-representação. 
 SHOE tenta fornecer uma rica expressividade quanto possível, enquanto mantém 
em mente que há uma enorme quantidade de dados fora. 
 Não há ontologias pré-definidas, categorias, 
relacionamentos ou inferências. 
SHOE é uma linguagem na qual categorias, relacionamentos, atributos, inferências, 
etc. podem ser definidas por ontologias, mas a própria SHOE não as define.
Especificações 
 Tudo é iniciado com a adição desta tag de 
inicialização na cabeça do documento HTML clássico. 
<META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0"> 
 Você pode usar este logotipo que representa que sua 
página web suporta SHOE..
Especificações 
SHOE usa as seguintes tags adicionais como uma extensão do HTML: 
Para a definição de ontologias: 
ONTOLOGY, /ONTOLOGY, USE-ONTOLOGY, DEF-CATEGORY,DEF-RELATION, 
/DEF-RELATION, DEF-ARG, DEF-RENAME,DEF-CONSTANT, 
DEF-TYPE, DEF-INFERENCE, /DEF-INFERENCE,INF-IF, 
/INF-IF, INF-THEN, /INF-THEN, 
COMPARISON,/COMPARISON, CATEGORY, RELATION, /RELATION, 
ARG. 
Para a averbação de páginas HTML, adicione: 
INSTANCE, /INSTANCE.
Criando uma ontologia 
<HTML> 
<HEAD> 
<!--Indication that this document is conformant with SHOE 1.0-> 
<META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0“> 
<TITLE> Our CS Ontology </TITLE> 
</HEAD> 
<BODY> 
<!--Declaration of the ontology‘s name and version--> 
<ONTOLOGY ID="cs-dept-ontology" VERSION="1.0“> 
<!--Declaration to use another yet existing ontology--> 
<USE-ONTOLOGY ID="base-ontology" VERSION="1.0" PREFIX="base” 
URL="http://www.cs.umd.edu/projects/plus/SHOE/base.html"> 
 O prefix base é utilizado para indicar que está sendo importado da ontologia base.
Criando uma ontologia 
 <!– A definição da hierarquia--> 
<DEF-CATEGORY NAME="Organization" ISA="base.SHOEEntity"> 
<DEF-CATEGORY NAME="Person" ISA="base.SHOEEntity"> 
<DEF-CATEGORY NAME="Publication" ISA="base.SHOEEntity"> 
<DEF-CATEGORY NAME="ResearchGroup" ISA="Organization"> 
<DEF-CATEGORY NAME="Department" ISA="Organization"> 
<DEF-CATEGORY NAME="Worker" ISA="Person"> 
<DEF-CATEGORY NAME="Faculty" ISA="Worker"> 
<DEF-CATEGORY NAME="Assistant" ISA="Worker"> 
<DEF-CATEGORY NAME="AdministrativeStaff" ISA="Worker"> 
<DEF-CATEGORY NAME="Student" ISA="Person"> 
<DEF-CATEGORY NAME="PostDoc" ISA="Faculty"> 
<DEF-CATEGORY NAME="Lecturer" ISA="Faculty"> 
<DEF-CATEGORY NAME="Professor" ISA="Faculty"> 
<DEF-CATEGORY NAME="ResearchAssistant" ISA="Assistant"> 
<DEF-CATEGORY NAME="TeachingAssistant" ISA="Assistant"> 
<DEF-CATEGORY NAME="GraduateStudent" ISA="Student"> 
<DEF-CATEGORY NAME="UndergraduateStudent" ISA="Student"> 
<DEF-CATEGORY NAME="Secretary" ISA="AdministrativeStaff"> 
<DEF-CATEGORY NAME="Chair" ISA="AdministrativeStaff Professor"> 
Herança 
Múltipla 
 Note-se que Organização, Publicação, e Pessoa subcategoriza a base.SHOEEntity, isto é, a categoria 
SHOEEntity declarou em base-ontology. SHOEEntity é a categoria aceita como "root" para todas as 
categorias que você vai declarar em uma ontologia.
Base de uma ontologia SHOE 
1. Tipagem 
 STRING: Literais. 
 NUMBER: Ponto flutuante, inteiros e constantes. 
 DATE: Data/Timestamps 
 TRUTH: “Boolean”, neste caso: YES | NO.
Base de uma ontologia SHOE 
2. Hierarquia ISA 
Entity 
SHOEEntity 
Entity 
SHOEEntity 
Entity: O pai de todas as classificações SHOE. Não se deve criar uma 
subclasse de Entity, deve-se usar o SHOEEntity. Entity existe somente 
para trazer flexibilidade a versões anteriores do SHOE. 
SHOEEntity: Agora sim, este deve ser o pai de todas as categorias SHOE.
Esquema da ontologia criada 
anteriormente 
[base.Entity] 
[base.SHOEEntity] 
Person 
Worker 
Faculty 
Professor 
AssistantProfessor 
AssociateProfessor 
FullProfessor 
VisitingProfessor 
Lecturer 
PostDoc 
Assistant 
ResearchAssistant 
TeachingAssistant 
AdministrativeStaff 
Director 
Chair {Professor} 
Dean {Professor} 
ClericalStaff 
SystemsStaff 
Student 
UndergraduateStudent 
GraduateStudent 
Organization 
Department 
School
Base de uma ontologia SHOE 
3. Relacionamentos 
Relacionamentos são declarados entre um ou mais argumentos. 
Relação Argumento 1 Argumento 2 
======================================= 
description Entity STRING 
name Entity STRING
Criando uma ontologia 
Agora vamos criar alguns relacionamentos. 
 Estudantes tem professors como orientadores. 
 Organizações tem membros. 
 Pessoas são autores de publicações.
Criando uma ontologia 
<DEF-RELATION NAME="advisor"> 
<DEF-ARG POS="1" TYPE="Student"> 
<DEF-ARG POS="2" TYPE="Professor"> 
</DEF-RELATION> 
<DEF-RELATION NAME="member"> 
<DEF-ARG POS="1" TYPE="Organization"> 
<DEF-ARG POS="2" TYPE="Person"> 
</DEF-RELATION> 
<DEF-RELATION NAME="publicationAuthor"> 
<DEF-ARG POS="1" TYPE="Publication"> 
<DEF-ARG POS="2" TYPE="Person"> 
</DEF-RELATION>
Criando uma ontologia 
Também podemos utilizar as relações para criar uma 
regra. 
 Publicações são publicadas em uma data. 
 A idade do estudante é um número. 
 Qualquer nome é uma string. 
 Todo professor tem o campo docente como truth.
Criando uma ontologia 
 <DEF-RELATION NAME="publicationDate"> 
<DEF-ARG POS="1" TYPE="Publication"> 
<DEF-ARG POS="2" TYPE=".DATE"> 
</DEF-RELATION> 
<DEF-RELATION NAME="age"> 
<DEF-ARG POS="1" TYPE="Person"> 
<DEF-ARG POS="2" TYPE=".NUMBER"> 
</DEF-RELATION> 
<DEF-RELATION NAME="name"> 
<DEF-ARG POS="1" TYPE="base.SHOEEntity"> 
<DEF-ARG POS="2" TYPE=".STRING"> 
</DEF-RELATION> 
<DEF-RELATION NAME="tenured"> 
<DEF-ARG POS="1" TYPE="Professor"> 
<DEF-ARG POS="2" TYPE=".TRUTH"> 
</DEF-RELATION> 
</ONTOLOGY> </BODY></HTML> 
“.” é utilizado como atalho para acessar os elementos base da ontologia SHOE.
Descrevendo um documento HTML 
<HTML> 
<HEAD> 
<TITLE>My Page</TITLE> 
</HEAD> 
<BODY> 
<P> Hi, this is my web page. I am a graduate student and a research 
assistant. </P> 
<P> Also, I'm 52 years old. </P> 
<P> My name is George Stephanopolous. </P> 
<P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith"> 
graduate advisor.</A></P> 
<P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a paper I 
recently wrote. 
<h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from 
Germany who doesn't have her own web page. However, because I am such 
a nice person, I have agreed to let part of my web page space belong 
to her. She is 23. 
</BODY> 
</HTML>
Descrevendo um documento HTML 
Quais as informações que podemos 
obter desta página?
Descrevendo um documento HTML 
<HTML> 
<HEAD> 
<TITLE>My Page</TITLE> 
</HEAD> 
<BODY> 
<P> Hi, this is my web page. I am a graduate student and a research 
assistant. </P> 
<P> Also, I'm 52 years old. </P> 
<P> My name is George Stephanopolous. </P> 
<P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith"> 
graduate advisor.</A></P> 
<P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a paper I 
recently wrote. 
<h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from 
Germany who doesn't have her own web page. However, because I am such 
a nice person, I have agreed to let part of my web page space belong 
to her. She is 23. 
</BODY> 
</HTML>
Descrevendo um documento HTML 
 Agora nós temos que dizer as mesmas coisas para os agentes 
inteligentes. Para isso, temos que informar ao robô que estaremos 
usando SHOE. 
<META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0">
Descrevendo um documento HTML 
Instâncias e Chaves 
Antes de adicionarmos informações semânticas a nossa página, temos que definer uma ou 
mais instâncias, que são os objetos que vamos classificar ou relaciona-los com outros. 
SHOE associa cada instância a uma chave única, ou seja, duas pessoas não podem escrever 
instâncias com o mesmo nome. 
<INSTANCE KEY="http://www.cs.umd.edu/users/george/">
Descrevendo um documento HTML 
Então declare qual ontologia será usada... 
<USE-ONTOLOGY ID="cs-dept-ontology" 
URL="http://www.cs.umd.edu/projects/plus/SHO 
E/onts/cs.html" VERSION="1.0" PREFIX="cs">
Descrevendo um documento HTML 
Categorização 
<CATEGORY NAME="cs.GraduateStudent"> 
<CATEGORY NAME="cs.ResearchAssistant"> 
"GraduateStudent" e "ResearchAssistant" foram definidas na ontologia 
de prefixo "cs." (i.e., cs-dept-ontology).
Descrevendo um documento HTML 
Declarando relações 
<RELATION NAME="cs.name"> 
<ARG POS=1 
VALUE="http://www.cs.umd.edu/users/george/"> <ARG 
POS=2 VALUE="George Stephanopolous"> 
</RELATION> 
<RELATION NAME="cs.age"> 
<ARG POS=1 
VALUE="http://www.cs.umd.edu/users/george/"> <ARG 
POS=2 VALUE="52"> 
</RELATION>
Descrevendo um documento HTML 
Instância aninhada 
E a Brun Hilda? Ela também divide espaço na 
página de George, então a sua instância precisa 
ser diferente, porém também baseada na URL da 
página.
Descrevendo um documento HTML 
<INSTANCE 
KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> 
<CATEGORY NAME="cs.Lecturer"> 
<RELATION NAME= "cs.name“> 
<ARG POS=TO VALUE="Brun Hilda“> 
</RELATION> 
<RELATION NAME="cs.age"> 
<ARG POS=TO VALUE="23“> 
</RELATION> 
</INSTANCE>
Descrevendo um documento HTML 
 Produto Final: 
<INSTANCE KEY="http://www.cs.umd.edu/users/george/"> 
<USE-ONTOLOGY ID="cs-dept-ontology" 
URL="http://www.cs.umd.edu/projects/plus/SHOE/onts/cs.html" 
VERSION="1.0" PREFIX="cs"> 
<CATEGORY NAME="cs.GraduateStudent"> 
<CATEGORY NAME="cs.ResearchAssistant"> 
<RELATION NAME="cs.name"> 
<ARG POS=TO VALUE="George Stephanopolous"> 
</RELATION> 
<RELATION NAME="cs.age"> 
<ARG POS=TO VALUE="52"> 
</RELATION> 
<RELATION NAME="cs.advisor"> 
<ARG POS=TO VALUE="http://www.cs.umd.edu/users/smith"> </RELATION>
Descrevendo um documento HTML 
<INSTANCE 
KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> 
<CATEGORY NAME="cs.Lecturer“> 
<RELATION NAME= "cs.name"> 
<ARG POS=TO VALUE="Brun Hilda"> 
</RELATION> 
<RELATION NAME="cs.age“> 
<ARG POS=TO VALUE="23“> 
</RELATION> 
</INSTANCE> 
</INSTANCE> 
</BODY> </HTML>
Inferências nas ontologias SHOE 
 Além de hierarquias e relações também é possível criar regras 
para inferências, que relembram um pouco o estilo de Prolog. 
 member(?org2,?person) :- member(?org1,?person) ^ 
subOrganizationOf(?org1,?org2) 
 Traduzindo: "?person é um membro de ?org2 SE ?person é 
um membro de ?org1 E ?org1 é uma sub-organização de 
?org2".
Inferências nas ontologias SHOE 
<DEF-INFERENCE DESCRIPTION="member(?org2,?person) if member(?org1,?person) 
and subOrganizationOf(?org1,?org2)"> 
<INF-IF> 
<RELATION NAME="member"> 
<ARG POS=1 VALUE="org1" USAGE=VAR> 
<ARG POS=2 VALUE="per" USAGE=VAR> 
</RELATION> 
<RELATION NAME="subOrganizationOf"> 
<ARG POS=1 VALUE="org1" USAGE=VAR> 
<ARG POS=2 VALUE="org2" USAGE=VAR> 
</RELATION> 
</INF-IF> 
<INF-THEN> 
<RELATION NAME="member"> 
<ARG POS=1 VALUE="org2" USAGE=VAR> 
<ARG POS=2 VALUE="per" USAGE=VAR> 
</RELATION> 
</INF-THEN> 
</DEF-INFERENCE>
Referências 
 http://www.cs.umd.edu/projects/plus/SHOE 
 http://www-di.inf.puc-rio.br/~julio/Slct-pub/JAI.pdf 
 http://swat.cse.lehigh.edu/ 
 http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0024134_02_cap_05.pdf

Mais conteúdo relacionado

Destaque

Fundamentos da programação de computadores 1ª edição
Fundamentos da programação de computadores   1ª ediçãoFundamentos da programação de computadores   1ª edição
Fundamentos da programação de computadores 1ª ediçãoLeandro Rocha de Oliveira
 
Explorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento ComputacionalExplorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento ComputacionalSérgio Souza Costa
 
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoXML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoGPrimola
 
Curso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootCurso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootMarcos Quinho
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosSérgio Souza Costa
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECFernando Palma
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoFernando Palma
 
Algoritmos e Estruturas de Dados, edição de 2013/2014
Algoritmos e Estruturas de Dados, edição de 2013/2014Algoritmos e Estruturas de Dados, edição de 2013/2014
Algoritmos e Estruturas de Dados, edição de 2013/2014Pedro Guerreiro
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsSérgio Souza Costa
 
Laying out the future
Laying out the futureLaying out the future
Laying out the futureRachel Andrew
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Sérgio Souza Costa
 

Destaque (14)

Apostila turbo pascal
Apostila turbo pascalApostila turbo pascal
Apostila turbo pascal
 
Fundamentos da programação de computadores 1ª edição
Fundamentos da programação de computadores   1ª ediçãoFundamentos da programação de computadores   1ª edição
Fundamentos da programação de computadores 1ª edição
 
Explorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento ComputacionalExplorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento Computacional
 
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML NativoXML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
 
Curso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootCurso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal Root
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetos
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho Acadêmico
 
Tutorial memcached
Tutorial memcachedTutorial memcached
Tutorial memcached
 
Algoritmos e Estruturas de Dados, edição de 2013/2014
Algoritmos e Estruturas de Dados, edição de 2013/2014Algoritmos e Estruturas de Dados, edição de 2013/2014
Algoritmos e Estruturas de Dados, edição de 2013/2014
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cells
 
Laying out the future
Laying out the futureLaying out the future
Laying out the future
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)
 

Semelhante a Web Semantica - Simple HTML Ontology Extension SHOE

HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBPeslPinguim
 
Portais Institucionais IEUSEER2010
Portais Institucionais IEUSEER2010Portais Institucionais IEUSEER2010
Portais Institucionais IEUSEER2010Suelybcs .
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeElvis Fusco
 
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Eduardo Bertolucci
 
Material de-apoio-ao-curso-basico-html5-css3
Material de-apoio-ao-curso-basico-html5-css3Material de-apoio-ao-curso-basico-html5-css3
Material de-apoio-ao-curso-basico-html5-css3David Canjamba 2D
 
Workshop recursos da web 2.0 para pesquisadores
Workshop   recursos da web 2.0 para pesquisadoresWorkshop   recursos da web 2.0 para pesquisadores
Workshop recursos da web 2.0 para pesquisadoresLuciana Viter
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Redacao Academica para a Web 2.0 ABEC
Redacao Academica para a Web 2.0 ABECRedacao Academica para a Web 2.0 ABEC
Redacao Academica para a Web 2.0 ABECSuelybcs .
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPLuiz Henrique Zambom Santana
 
Exemplo de Ontologia da Pos-Graduação do CEFET-PI
Exemplo de Ontologia da Pos-Graduação do CEFET-PIExemplo de Ontologia da Pos-Graduação do CEFET-PI
Exemplo de Ontologia da Pos-Graduação do CEFET-PIAislan Rafael
 
Manual curso php
Manual curso phpManual curso php
Manual curso phpalexinaa
 

Semelhante a Web Semantica - Simple HTML Ontology Extension SHOE (20)

HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
Laboratório Web 2013-2014 - HTML5
Laboratório Web 2013-2014 - HTML5Laboratório Web 2013-2014 - HTML5
Laboratório Web 2013-2014 - HTML5
 
Portais Institucionais IEUSEER2010
Portais Institucionais IEUSEER2010Portais Institucionais IEUSEER2010
Portais Institucionais IEUSEER2010
 
HTML 5 - A mudança da Web
HTML 5 - A mudança da WebHTML 5 - A mudança da Web
HTML 5 - A mudança da Web
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Html5 em 15 minutos
Html5 em 15 minutosHtml5 em 15 minutos
Html5 em 15 minutos
 
Seo e HTML5
Seo e HTML5Seo e HTML5
Seo e HTML5
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
 
Material de-apoio-ao-curso-basico-html5-css3
Material de-apoio-ao-curso-basico-html5-css3Material de-apoio-ao-curso-basico-html5-css3
Material de-apoio-ao-curso-basico-html5-css3
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Workshop recursos da web 2.0 para pesquisadores
Workshop   recursos da web 2.0 para pesquisadoresWorkshop   recursos da web 2.0 para pesquisadores
Workshop recursos da web 2.0 para pesquisadores
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Redacao Academica para a Web 2.0 ABEC
Redacao Academica para a Web 2.0 ABECRedacao Academica para a Web 2.0 ABEC
Redacao Academica para a Web 2.0 ABEC
 
Front-end 001
Front-end 001Front-end 001
Front-end 001
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHP
 
Exemplo de Ontologia da Pos-Graduação do CEFET-PI
Exemplo de Ontologia da Pos-Graduação do CEFET-PIExemplo de Ontologia da Pos-Graduação do CEFET-PI
Exemplo de Ontologia da Pos-Graduação do CEFET-PI
 
Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Manual curso php
Manual curso phpManual curso php
Manual curso php
 

Mais de Tiago R. Sampaio

Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuídoTiago R. Sampaio
 
Padrão de projeto de software Composite
Padrão de projeto de software CompositePadrão de projeto de software Composite
Padrão de projeto de software CompositeTiago R. Sampaio
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERLTiago R. Sampaio
 

Mais de Tiago R. Sampaio (6)

Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuído
 
Padrão de projeto de software Composite
Padrão de projeto de software CompositePadrão de projeto de software Composite
Padrão de projeto de software Composite
 
Diagrama UML Pergamum
Diagrama UML PergamumDiagrama UML Pergamum
Diagrama UML Pergamum
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 

Web Semantica - Simple HTML Ontology Extension SHOE

  • 1. Simple HTML Ontology Extension Tiago R. Sampaio www.trsampaio.com
  • 2. Conteúdo  O que é SHOE?  O que SHOE não é...  Especificações  Ontologias Base da SHOE  Criando uma Ontologia Basica  Anotação de um documento HTML com SHOE  Inferências em Ontologias SHOE  Referências
  • 3. O que é SHOE?  O HTML não foi projetado para o 'consumo' do computador, sua função é apenas exibir dados para que os seres humanos possam ler. O "conhecimento" em uma página web é uma linguagem legível (normalmente inglês), definido com textos, tabelas e gráficos, para que nós humanos possamos compreender visualmente.  Infelizmente, os agentes inteligentes não são humanos. Mesmo com a tecnologia de linguagem natural 'state-of-the-art', obter em um computador recursos para ler e compreender documentos da web é muito complicado. Essa dificuldade faz com que a criação de um agente inteligente que pode percorrer a web por si próprio, ler e compreender as páginas seja muito difícil.  Então, o que pode ser feito?
  • 4. O que é SHOE?  A resposta é simples: SHOE.  SHOE elimina esse problema, tornando possível para páginas da web a inclusão de conhecimento de uma forma que os agentes inteligentes realmente podem ler.  SHOE é uma pequena extensão de HTML, que permite que os autores das páginas web marcar seus documentos web com conhecimento de leitura de máquina. SHOE torna possível um agente inteligente real na web.
  • 5. O que é SHOE?  SHOE é uma linguagem de representação do conhecimento baseado em HTML.  SHOE pode ser utilizado para incorporar os dados a partir de uma variedade de fontes e para uma variedade de propósitos. Não se destina a qualquer função particular. No entanto, SHOE se destina principalmente para tornar a web possível para robôs e agentes inteligentes, e assim fazer a diferença, tornando a nossa vida um pouco mais fácil.
  • 6. O que é SHOE? Desenvolvido por: Grupo de Sistemas de Entendimento Paralelo, Prof. Jim Hendler Departamento de Ciência da Computação Universidade de Maryland Resumindo...  Superconjunto de HTML;  Especifica ontologias para os Agentes da Internet;  Descreve semanticamente documentos web com máquinas de conhecimento legível;  Compatível com SGML e XML;  Mas agora o trabalho da Universidade de Maryland em ontologias da web continua no Projeto Agentes e Web Semântica, que utiliza as linguagens para ontologia Web OWL e DAML+OIL. Essas linguagens são resultados dos esforços de padronização e, em parte, são baseadas na SHOE;
  • 7. O que SHOE não é...  Não é apenas uma linguagem de meta-conteúdo.  Permite que os designers da web incorporem documentos que não contenham apenas informações sobre o “conteúdo” global desses documentos, mas qualquer informação arbitrária em tudo. SHOE também permite a interferência automática sobre os dados que eles aprendem, fornece um esquema de categorização hierárquica, e um mecanismo de ontologia sofisticado projetado especificamente para o que a web precisa.  Não é propositalmente um sistema detalhado de conhecimento-representação.  SHOE tenta fornecer uma rica expressividade quanto possível, enquanto mantém em mente que há uma enorme quantidade de dados fora.  Não há ontologias pré-definidas, categorias, relacionamentos ou inferências. SHOE é uma linguagem na qual categorias, relacionamentos, atributos, inferências, etc. podem ser definidas por ontologias, mas a própria SHOE não as define.
  • 8. Especificações  Tudo é iniciado com a adição desta tag de inicialização na cabeça do documento HTML clássico. <META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0">  Você pode usar este logotipo que representa que sua página web suporta SHOE..
  • 9. Especificações SHOE usa as seguintes tags adicionais como uma extensão do HTML: Para a definição de ontologias: ONTOLOGY, /ONTOLOGY, USE-ONTOLOGY, DEF-CATEGORY,DEF-RELATION, /DEF-RELATION, DEF-ARG, DEF-RENAME,DEF-CONSTANT, DEF-TYPE, DEF-INFERENCE, /DEF-INFERENCE,INF-IF, /INF-IF, INF-THEN, /INF-THEN, COMPARISON,/COMPARISON, CATEGORY, RELATION, /RELATION, ARG. Para a averbação de páginas HTML, adicione: INSTANCE, /INSTANCE.
  • 10. Criando uma ontologia <HTML> <HEAD> <!--Indication that this document is conformant with SHOE 1.0-> <META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0“> <TITLE> Our CS Ontology </TITLE> </HEAD> <BODY> <!--Declaration of the ontology‘s name and version--> <ONTOLOGY ID="cs-dept-ontology" VERSION="1.0“> <!--Declaration to use another yet existing ontology--> <USE-ONTOLOGY ID="base-ontology" VERSION="1.0" PREFIX="base” URL="http://www.cs.umd.edu/projects/plus/SHOE/base.html">  O prefix base é utilizado para indicar que está sendo importado da ontologia base.
  • 11. Criando uma ontologia  <!– A definição da hierarquia--> <DEF-CATEGORY NAME="Organization" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Person" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Publication" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="ResearchGroup" ISA="Organization"> <DEF-CATEGORY NAME="Department" ISA="Organization"> <DEF-CATEGORY NAME="Worker" ISA="Person"> <DEF-CATEGORY NAME="Faculty" ISA="Worker"> <DEF-CATEGORY NAME="Assistant" ISA="Worker"> <DEF-CATEGORY NAME="AdministrativeStaff" ISA="Worker"> <DEF-CATEGORY NAME="Student" ISA="Person"> <DEF-CATEGORY NAME="PostDoc" ISA="Faculty"> <DEF-CATEGORY NAME="Lecturer" ISA="Faculty"> <DEF-CATEGORY NAME="Professor" ISA="Faculty"> <DEF-CATEGORY NAME="ResearchAssistant" ISA="Assistant"> <DEF-CATEGORY NAME="TeachingAssistant" ISA="Assistant"> <DEF-CATEGORY NAME="GraduateStudent" ISA="Student"> <DEF-CATEGORY NAME="UndergraduateStudent" ISA="Student"> <DEF-CATEGORY NAME="Secretary" ISA="AdministrativeStaff"> <DEF-CATEGORY NAME="Chair" ISA="AdministrativeStaff Professor"> Herança Múltipla  Note-se que Organização, Publicação, e Pessoa subcategoriza a base.SHOEEntity, isto é, a categoria SHOEEntity declarou em base-ontology. SHOEEntity é a categoria aceita como "root" para todas as categorias que você vai declarar em uma ontologia.
  • 12. Base de uma ontologia SHOE 1. Tipagem  STRING: Literais.  NUMBER: Ponto flutuante, inteiros e constantes.  DATE: Data/Timestamps  TRUTH: “Boolean”, neste caso: YES | NO.
  • 13. Base de uma ontologia SHOE 2. Hierarquia ISA Entity SHOEEntity Entity SHOEEntity Entity: O pai de todas as classificações SHOE. Não se deve criar uma subclasse de Entity, deve-se usar o SHOEEntity. Entity existe somente para trazer flexibilidade a versões anteriores do SHOE. SHOEEntity: Agora sim, este deve ser o pai de todas as categorias SHOE.
  • 14. Esquema da ontologia criada anteriormente [base.Entity] [base.SHOEEntity] Person Worker Faculty Professor AssistantProfessor AssociateProfessor FullProfessor VisitingProfessor Lecturer PostDoc Assistant ResearchAssistant TeachingAssistant AdministrativeStaff Director Chair {Professor} Dean {Professor} ClericalStaff SystemsStaff Student UndergraduateStudent GraduateStudent Organization Department School
  • 15. Base de uma ontologia SHOE 3. Relacionamentos Relacionamentos são declarados entre um ou mais argumentos. Relação Argumento 1 Argumento 2 ======================================= description Entity STRING name Entity STRING
  • 16. Criando uma ontologia Agora vamos criar alguns relacionamentos.  Estudantes tem professors como orientadores.  Organizações tem membros.  Pessoas são autores de publicações.
  • 17. Criando uma ontologia <DEF-RELATION NAME="advisor"> <DEF-ARG POS="1" TYPE="Student"> <DEF-ARG POS="2" TYPE="Professor"> </DEF-RELATION> <DEF-RELATION NAME="member"> <DEF-ARG POS="1" TYPE="Organization"> <DEF-ARG POS="2" TYPE="Person"> </DEF-RELATION> <DEF-RELATION NAME="publicationAuthor"> <DEF-ARG POS="1" TYPE="Publication"> <DEF-ARG POS="2" TYPE="Person"> </DEF-RELATION>
  • 18. Criando uma ontologia Também podemos utilizar as relações para criar uma regra.  Publicações são publicadas em uma data.  A idade do estudante é um número.  Qualquer nome é uma string.  Todo professor tem o campo docente como truth.
  • 19. Criando uma ontologia  <DEF-RELATION NAME="publicationDate"> <DEF-ARG POS="1" TYPE="Publication"> <DEF-ARG POS="2" TYPE=".DATE"> </DEF-RELATION> <DEF-RELATION NAME="age"> <DEF-ARG POS="1" TYPE="Person"> <DEF-ARG POS="2" TYPE=".NUMBER"> </DEF-RELATION> <DEF-RELATION NAME="name"> <DEF-ARG POS="1" TYPE="base.SHOEEntity"> <DEF-ARG POS="2" TYPE=".STRING"> </DEF-RELATION> <DEF-RELATION NAME="tenured"> <DEF-ARG POS="1" TYPE="Professor"> <DEF-ARG POS="2" TYPE=".TRUTH"> </DEF-RELATION> </ONTOLOGY> </BODY></HTML> “.” é utilizado como atalho para acessar os elementos base da ontologia SHOE.
  • 20. Descrevendo um documento HTML <HTML> <HEAD> <TITLE>My Page</TITLE> </HEAD> <BODY> <P> Hi, this is my web page. I am a graduate student and a research assistant. </P> <P> Also, I'm 52 years old. </P> <P> My name is George Stephanopolous. </P> <P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith"> graduate advisor.</A></P> <P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a paper I recently wrote. <h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from Germany who doesn't have her own web page. However, because I am such a nice person, I have agreed to let part of my web page space belong to her. She is 23. </BODY> </HTML>
  • 21. Descrevendo um documento HTML Quais as informações que podemos obter desta página?
  • 22. Descrevendo um documento HTML <HTML> <HEAD> <TITLE>My Page</TITLE> </HEAD> <BODY> <P> Hi, this is my web page. I am a graduate student and a research assistant. </P> <P> Also, I'm 52 years old. </P> <P> My name is George Stephanopolous. </P> <P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith"> graduate advisor.</A></P> <P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a paper I recently wrote. <h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from Germany who doesn't have her own web page. However, because I am such a nice person, I have agreed to let part of my web page space belong to her. She is 23. </BODY> </HTML>
  • 23. Descrevendo um documento HTML  Agora nós temos que dizer as mesmas coisas para os agentes inteligentes. Para isso, temos que informar ao robô que estaremos usando SHOE. <META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0">
  • 24. Descrevendo um documento HTML Instâncias e Chaves Antes de adicionarmos informações semânticas a nossa página, temos que definer uma ou mais instâncias, que são os objetos que vamos classificar ou relaciona-los com outros. SHOE associa cada instância a uma chave única, ou seja, duas pessoas não podem escrever instâncias com o mesmo nome. <INSTANCE KEY="http://www.cs.umd.edu/users/george/">
  • 25. Descrevendo um documento HTML Então declare qual ontologia será usada... <USE-ONTOLOGY ID="cs-dept-ontology" URL="http://www.cs.umd.edu/projects/plus/SHO E/onts/cs.html" VERSION="1.0" PREFIX="cs">
  • 26. Descrevendo um documento HTML Categorização <CATEGORY NAME="cs.GraduateStudent"> <CATEGORY NAME="cs.ResearchAssistant"> "GraduateStudent" e "ResearchAssistant" foram definidas na ontologia de prefixo "cs." (i.e., cs-dept-ontology).
  • 27. Descrevendo um documento HTML Declarando relações <RELATION NAME="cs.name"> <ARG POS=1 VALUE="http://www.cs.umd.edu/users/george/"> <ARG POS=2 VALUE="George Stephanopolous"> </RELATION> <RELATION NAME="cs.age"> <ARG POS=1 VALUE="http://www.cs.umd.edu/users/george/"> <ARG POS=2 VALUE="52"> </RELATION>
  • 28. Descrevendo um documento HTML Instância aninhada E a Brun Hilda? Ela também divide espaço na página de George, então a sua instância precisa ser diferente, porém também baseada na URL da página.
  • 29. Descrevendo um documento HTML <INSTANCE KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> <CATEGORY NAME="cs.Lecturer"> <RELATION NAME= "cs.name“> <ARG POS=TO VALUE="Brun Hilda“> </RELATION> <RELATION NAME="cs.age"> <ARG POS=TO VALUE="23“> </RELATION> </INSTANCE>
  • 30. Descrevendo um documento HTML  Produto Final: <INSTANCE KEY="http://www.cs.umd.edu/users/george/"> <USE-ONTOLOGY ID="cs-dept-ontology" URL="http://www.cs.umd.edu/projects/plus/SHOE/onts/cs.html" VERSION="1.0" PREFIX="cs"> <CATEGORY NAME="cs.GraduateStudent"> <CATEGORY NAME="cs.ResearchAssistant"> <RELATION NAME="cs.name"> <ARG POS=TO VALUE="George Stephanopolous"> </RELATION> <RELATION NAME="cs.age"> <ARG POS=TO VALUE="52"> </RELATION> <RELATION NAME="cs.advisor"> <ARG POS=TO VALUE="http://www.cs.umd.edu/users/smith"> </RELATION>
  • 31. Descrevendo um documento HTML <INSTANCE KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> <CATEGORY NAME="cs.Lecturer“> <RELATION NAME= "cs.name"> <ARG POS=TO VALUE="Brun Hilda"> </RELATION> <RELATION NAME="cs.age“> <ARG POS=TO VALUE="23“> </RELATION> </INSTANCE> </INSTANCE> </BODY> </HTML>
  • 32. Inferências nas ontologias SHOE  Além de hierarquias e relações também é possível criar regras para inferências, que relembram um pouco o estilo de Prolog.  member(?org2,?person) :- member(?org1,?person) ^ subOrganizationOf(?org1,?org2)  Traduzindo: "?person é um membro de ?org2 SE ?person é um membro de ?org1 E ?org1 é uma sub-organização de ?org2".
  • 33. Inferências nas ontologias SHOE <DEF-INFERENCE DESCRIPTION="member(?org2,?person) if member(?org1,?person) and subOrganizationOf(?org1,?org2)"> <INF-IF> <RELATION NAME="member"> <ARG POS=1 VALUE="org1" USAGE=VAR> <ARG POS=2 VALUE="per" USAGE=VAR> </RELATION> <RELATION NAME="subOrganizationOf"> <ARG POS=1 VALUE="org1" USAGE=VAR> <ARG POS=2 VALUE="org2" USAGE=VAR> </RELATION> </INF-IF> <INF-THEN> <RELATION NAME="member"> <ARG POS=1 VALUE="org2" USAGE=VAR> <ARG POS=2 VALUE="per" USAGE=VAR> </RELATION> </INF-THEN> </DEF-INFERENCE>
  • 34. Referências  http://www.cs.umd.edu/projects/plus/SHOE  http://www-di.inf.puc-rio.br/~julio/Slct-pub/JAI.pdf  http://swat.cse.lehigh.edu/  http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0024134_02_cap_05.pdf