construindo sua primeira ontologia
Post on 04-Jul-2015
158 Views
Preview:
DESCRIPTION
TRANSCRIPT
CONSTRUINDO SUA PRIMEIRA ONTOLOGIA
Quem somosEngenheiro de SW Sr do Portal globoesporte.com
Desenvolveu as ontologia de combate, corridas de rua e olimpíadas
[twitter, linkedin, github]romulojales<.com>
Quem somosEngenheiro Eletrônico e de Computação pela UFRJ e mestre em Informática pela PUC-Rio, Desenvolvedor sênior no globoesporte.com, o maior site de esportes do Brasil e o site oficial da Copa do Mundo FIFA Brasil 2014.
@victorpantoja
github.com/victorpantoja
Engenheiro Eletrônico e de Computação pela UFRJ e mestre em Informática pela PUC-Rio, Desenvolvedor sênior no globoesporte.com, o maior site de esportes do Brasil e o site oficial da Copa do Mundo FIFA Brasil 2014.
Desmistificar Web Semântica
Objetivos
Que número é este? A idéia é provocar o espectador a pensar no significado dos números
Apresentação de forma prática dos conceitos de web semântica
através da criação de uma ontologia que descreve Fórmula 1.
Como
Que número é este? A idéia é provocar o espectador a pensar no significado dos números
9780470396797
Que número é este? A idéia é provocar o espectador a pensar no significado dos números
9780470396797• número?
• string?
• CNPJ?
• CPF?
• ID de banco
continuando a provocação
ISBN
Respondendo o que é o número e mostrando o valor de ter um significado
Fórmula 1
Fórmula 1• Campeonato
• Edições anuais
• Construtores (Equipes)
• Torneio de Pilotos
• Torneio de construtores
• Corrida
Vocabulários Básicos
• OWL - Web Ontology Language
• Vocabulário estrutural para coisas complexas
• RDFS - Resource Descriptor Framework
• Vocabulário descritor das coisas complexas
:Campeonato rdf:type owl:Class ; rdfs:label "Campeonato"; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :slug_topico ; owl:onDataRange rdf:XMLLiteral ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ rdf:type owl:Restriction ; owl:onProperty :nome ; owl:onDataRange rdf:XMLLiteral ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ].
:slug rdf:type owl:DatatypeProperty ; rdfs:label "Slug da Entidade" ; rdfs:range rdf:XMLLiteral ; rdfs:domain :EdicaoCampeonato; rdfs:domain :Piloto; rdfs:domain :Campeonato.
:nome rdf:type owl:DatatypeProperty ; rdfs:label "Nome da Entidade" ;
rdfs:range rdf:XMLLiteral ; rdfs:domain :Autodromo;
rdfs:domain :EdicaoCampeonato; rdfs:domain :Equipe;
rdfs:domain :Piloto; rdfs:domain :GP;
rdfs:domain :Campeonato.
:do_campeonato rdf:type owl:ObjectProperty ; rdfs:domain :EdicaoCampeonato ; rdfs:label "Do campeonato" ; rdfs:range :Campeonato.
le wild Virtuoso
http://bit.ly/virtuoso61Versão 6.x
https://github.com/romulojales/Sua-primeira-ontologia
Dependência:
le wild VirtuosoIP:8890
Exercício 1: LOAD DA ONTOLOGIA
SPARQL?s ?p ?o
Inserção de indivíduos
https://github.com/openlink/virtuoso-opensource/issues/181
GRANT EXECUTE ON DB.DBA.SPARUL_LOAD_SERVICE_DATA TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_SD_PROBE TO "SPARQL";
GRANT EXECUTE ON DB.DBA.L_O_LOOK TO “SPARQL";
GRANT EXECUTE ON DB.DBA.RDF_QUAD to SPARQL_UPDATE;
Exercício 2: Sparql Consultar piloto com nome “Felipe Massa”
select * where{ ?s rdfs:label “Felipe Massa”}
Exercicio 3: Sparqlassociar um piloto numa equipe
Lembrar que ainda não tem vinculo entre equipe e piloto. Modificar o predicado da_equipe
prefix grafo: <http://graph.onto/> INSERT INTO grafo: { grafo:faz_parte_equipe rdfs:domain <http://graph.onto/Piloto>; rdf:range <http://graph.onto/Equipe> }
prefix grafo: <http://graph.onto/> INSERT INTO grafo: { <http://graph.onto/Piloto/1> grafo:da_equipe <http://graph.onto/Equipe/1> }
Exercício 4: Consultar tudo que pertence a uma
equipe
:slug rdf:type owl:DatatypeProperty ; rdfs:label "Slug da Entidade" ; rdfs:range rdf:XMLLiteral ; rdfs:domain :EdicaoCampeonato; rdfs:domain :Piloto; rdfs:domain :Campeonato;
rdfs:domain :FabricantePneu :nome rdf:type owl:DatatypeProperty ;
rdfs:label "Nome da Entidade" ; rdfs:range rdf:XMLLiteral ;
rdfs:domain :Autodromo; rdfs:domain :EdicaoCampeonato;
rdfs:domain :Equipe; rdfs:domain :Piloto;
rdfs:domain :GP; rdfs:domain :Campeonato;
rdfs:domain :FabricantePneu.
FabricantePneu => Equipe:fornece_pneu rdf:type owl:ObjectProperty ; rdfs:label “Fornece Pneu" ; rdfs:range :Equipe; rdfs:domain :FabricantePneu.
Equipe => FabricantePneu:compra_pneu_de rdf:type owl:ObjectProperty ; rdfs:label “Recebe Pneu" ; rdfs:range :FabricantePneu; rdfs:domain :Equipe.
:FabricantePneu rdf:type owl:Class ; rdfs:label “Fabricante de pneu"; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :slug_topico ; owl:onDataRange rdf:XMLLiteral ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ rdf:type owl:Restriction ; owl:onProperty :nome ; owl:onDataRange rdf:XMLLiteral ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ].
Exercício 5: construir a classe fabricante
de pneus associando a equipe
Exercício 6
Qual o fabricante de pneu que Felipe Massa correu numa dada
edição. obs.: vc não sabe de qual equipe
Felipe Massa é piloto
Estamos contratandohttp://bit.ly/quero-trabalhar-globo
https://github.com/globocom/IWantToWorkAtGlobocom
talentos@corp.globo.com
romulo.jales@corp.globo.com
victor.pantoja@corp.globo.com
top related