jena - lcad - ufesvitorsouza/archive/2020/wp... · jena • introdução: –...
TRANSCRIPT
![Page 1: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/1.jpg)
Paulo Sérgio dos Santos Júnior
Jena
![Page 2: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/2.jpg)
Agenda
• Seman4c Web Framework
• Jena
• RDF
• SPARQL
• Ontologias
![Page 3: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/3.jpg)
Seman+c Web Framework
![Page 4: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/4.jpg)
Seman+c Web Framework
![Page 5: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/5.jpg)
Seman+c Web Framework
• Componentes básicos:
– Storage (Knowledge base): é um repositório de documentos (rdf ou owl);
– Access: responsável por manipular as informações (e.g, processadores de queries);
– Inferences (reasoning engines ou resoner): responsável pela interpretação semân4ca as informações armazenadas
![Page 6: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/6.jpg)
Seman+c Web Framework
• Principais Seman4c Web Framework:
![Page 7: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/7.jpg)
JENA
![Page 8: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/8.jpg)
Jena
• Introdução: – Desenvolvido no HP Lab em 2000;
– Criado para o desenvolvimento de aplicações de Linking Data e Seman4c Web;
– Permite minupular dados em OWL e RDF;
![Page 9: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/9.jpg)
Jena
• Arquitetura
![Page 10: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/10.jpg)
Arquitetura
![Page 11: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/11.jpg)
Jena
• Componentes da Arquitetura: – RDF API: permite criar, ler e manipular dados em RDF;
– ARQ: é uma engine de consultas do JENA;
– TDB: permite armazenar os dados. É um banco de dados de triplas na4vo do JENA;
– Fuseki: é um “servidor rest-‐style” que permite criar end-‐point;
– Ontology API: permite manipular RDFS e OWL;
– Inference API: permite realizar inferências sobre os modelos OWL e RDFS;
![Page 12: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/12.jpg)
JENA e RDF
![Page 13: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/13.jpg)
Jena e RDF
• RDF: – Resource Descrip2on Framework (RDF) é uma recomendação da W3C para descrever recursos;
– Recursos pode ser qualquer coisas: • Uma página web; • Um tutorial; • Um filme e etc;
– Recursos possuem propriedades; – Cada propriedade possui um valor;
![Page 14: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/14.jpg)
Jena e RDF
• RDF:
![Page 15: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/15.jpg)
Jena e RDF
Recurso
![Page 16: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/16.jpg)
Jena e RDF
Recurso
Propriedade
![Page 17: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/17.jpg)
Jena e RDF
Recurso
Propriedade
Valor
![Page 18: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/18.jpg)
Jena e RDF
Como criar este modelo no Jena?
![Page 19: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/19.jpg)
Jena e RDF
• Como criar este modelo no Jena? sta+c String personURI = "h.p://somewhere/JohnSmith";
sta+c String fullName = "John Smith";
public sta+c void main(String[] args) { // create an empty Model Model model = ModelFactory.createDefaultModel(); // create the resource Resource johnSmith = model.createResource(personURI); // add the property johnSmith.addProperty(VCARD.FN, fullName); model.write(System.out, "Turtle"); }
![Page 20: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/20.jpg)
sta+c String personURI = "h.p://somewhere/JohnSmith"; sta+c String fullName = "John Smith";
public sta+c void main(String[] args) { // create an empty Model Model model = ModelFactory.createDefaultModel(); // create the resource Resource johnSmith = model.createResource(personURI); // add the property johnSmith.addProperty(VCARD.FN, fullName); model.write(System.out, "Turtle"); }
<hhp://somewhere/JohnSmith> <hhp://www.w3.org/2001/vcard-‐rdf/3.0#FN> "John Smith" .
![Page 21: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/21.jpg)
Jena e RDF
Como faremos este modelo?
![Page 22: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/22.jpg)
sta+c String personURI = "h.p://somewhere/JohnSmith"; sta+c String givenName = "John"; sta+c String familyName = "Smith"; sta+c String fullName = givenName + " " + familyName;
public sta+c void main(String[] args) {
// create an empty Model Model model = ModelFactory.createDefaultModel(); // create the resource Resource johnSmith = model.createResource(personURI); // add the property johnSmith.addProperty(VCARD.FN, fullName);
Resource n = model.createResource();
n.addProperty(VCARD.Given, givenName);
n.addProperty(VCARD.Family,familyName);
johnSmith.addProperty(VCARD.N, n);
model.write(System.out,"RDF/XML-‐ABBREV");
}
![Page 23: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/23.jpg)
sta+c String personURI = "h.p://somewhere/JohnSmith"; … public sta+c void main(String[] args) {
// create an empty Model … model.write(System.out,"RDF/XML-‐ABBREV");
}
<rdf:RDF xmlns:rdf="hhp://www.w3.org/1999/02/22-‐rdf-‐syntax-‐ns#" xmlns:vcard="hhp://www.w3.org/2001/vcard-‐rdf/3.0#"> <rdf:Descrip4on rdf:about="hhp://somewhere/JohnSmith"> <vcard:N rdf:parseType="Resource"> <vcard:Family>Smith</vcard:Family> <vcard:Given>John</vcard:Given> </vcard:N> <vcard:FN>John Smith</vcard:FN> </rdf:Descrip4on> </rdf:RDF>
![Page 24: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/24.jpg)
Jena e RDF
• A “combinação” de um recurso, propriedade e valor é chamado de statement;
• No statement – o recurso é chamado de sujeito; – a propriedade é chamada de predicado; – o valor é chamado de objeto;
![Page 25: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/25.jpg)
Jena: RDF
![Page 26: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/26.jpg)
Jena e RDF
• Lendo modelos RDF em disco:
Model m2 = ModelFactory.createDefaultModel(); m2.read( "vc-‐db-‐1.rdf" ); OU Model model1 = ModelFactory.createDefaultModel(); InputStream in1 = FileManager.get().open(inputFileName1); if (in1 == null) {
throw new IllegalArgumentExcep+on( "File: " + inputFileName1 + " not found"); }
model1.read( in1, "" );
![Page 27: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/27.jpg)
Jena e RDF
• Operações com Modelos
– É possível realizar operações de união, interseção e diferença entre modelos?
![Page 28: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/28.jpg)
![Page 29: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/29.jpg)
Jena e RDF • Operações com Modelos
Model model1 = ModelFactory.createDefaultModel() Model model2 = ModelFactory.createDefaultModel(); model1.read( “vc-‐db-‐3.rdf”); model2.read( “vc-‐db-‐4.rdf”); //União de modelos Model model = model1.union(model2); model.write(System.out, "RDF/XML-‐ABBREV"); //Interseção de modelos model = model1.intersec+on(model2); model.write(System.out, "RDF/XML-‐ABBREV"); // Diferença entre modelos model = model1. difference(model2); model.write(System.out, "RDF/XML-‐ABBREV");
![Page 30: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/30.jpg)
Jena e RDF • Consultas simples nos modelos:
– Jena possui um conjunto de classes que permitem fazer consultas simples no modelo.
– Para realizar consultas mais complexas é necessário u4lizar RQDL ( RDF Query Language) ou SPARQL;
![Page 31: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/31.jpg)
Jena e RDF • Consultas simples nos modelos:
– Model.listSubjectWithProperty (Property p, RDFNode o): permite encontrar um sujeito através de uma propriedade e/ou objeto;
![Page 32: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/32.jpg)
Jena e RDF • Consultas simples nos modelos:
– Interface Selector: permite ao programador definir o sujeito, predicado ou objeto que deseja buscar;
![Page 33: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/33.jpg)
JENA e SPARQL
![Page 34: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/34.jpg)
Jena e SPARQL
• SPARQL: – É um linguagem u4lizada para realizar consultas em documentos RDF;
– É padronizada pela W3C e possui um grande uso na comunidade;
– SPARQL é tanto uma linguagem de consulta quanto uma protocolo de comunicação;
– O protocolo de comunicação é u4lizado para comunicar entre o cliente SPARQL e endpoint/processor (e.g., hhp://dbpedia.org/sparql)
![Page 35: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/35.jpg)
Jena e SPARQL
• Hello World:
![Page 36: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/36.jpg)
Jena e SPARQL
• Explicando o Hello World:
– O SPARQL tenta casar o padrão da tripla presente na clausula WHERE com as triplas presentes no grafo RDF;
– O padrão é sujeito, predicado e objeto
– No nosso exemplo, queremos saber todo os sujeitos que possuem o predicado FN (FullName) igual ao objeto “John Smith”
![Page 37: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/37.jpg)
Jena e SPARQL
• Executando o Hello World no Jena: 1) Carregue o modelo RDF na memória;
Model model = ModelFactory.createDefaultModel(); InputStream in = FileManager.get().open(inputFileName);
if (in == null) { throw new IllegalArgumentExcep+on("File: " + inputFileName + " not found"); }
model.read(new InputStreamReader(in), "");
![Page 38: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/38.jpg)
Jena e SPARQL
• Executando o Hello World no Jena: 2) Execute a query ;
String queryString = "SELECT ?x WHERE { ?x <hhp://www.w3.org/2001/vcard-‐rdf/3.0#FN> \"John Smith\" }" Query query = QueryFactory.create(queryString); QueryExecu4on queryExecu4on = QueryExecu4onFactory.create(query,model); ResultSet results = queryExecu4on.execSelect(); ResultSetFormaher.out(System.out, results, query) ; queryExecu4on.close();
![Page 39: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/39.jpg)
Jena e SPARQL
• Nova Consulta:
![Page 40: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/40.jpg)
Jena e SPARQL
• Padrões Básicos: – Um padrão básico é um conjunto de padrões de triplas.
– O “.” é u4lizado para indicar que o sujeito será reu4lizado por outra tripla;
– O “;” é u4lizado para indicar que o sujeito será reu4lizado por duas ou mais triplas;
– A “,” é u4lizado para indicar que o sujeito e predicado serão reu4lizados por duas ou mais triplas;
![Page 41: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/41.jpg)
Jena e SPARQL
• Padrões Básicos: – O “;” é u4lizado para indicar que o sujeito será reu4lizado por duas ou mais triplas;
![Page 42: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/42.jpg)
Jena e SPARQL
• QName: – É um mecanismo de prefixagem que permite simplificar as consultas;
![Page 43: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/43.jpg)
Jena e SPARQL
• Filtros: – Permite que o usuário faça uma seleção tendo como base um certo padrão;
– Busca por Strings:
• ?x: variável que deseja procurar; • “pajern”: padrão que deseja procurar; • flags: determinar alguma configuração de busca;
![Page 44: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/44.jpg)
Jena e SPARQL
• Filtros: – Permite que o usuário faça uma seleção tendo como base um certo padrão;
– Busca por Strings:
• i: determina que a busca é case-‐insensi4vo;
![Page 45: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/45.jpg)
Jena e SPARQL
• Filtros: – Permite que o usuário faça uma seleção tendo como base um certo padrão;
– Busca por Valores:
![Page 46: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/46.jpg)
Jena e SPARQL
• Filtros: – Permite que o usuário faça uma seleção tendo como base um certo padrão;
– Operador IN: verificar se o valor está entre um conjunto de valores pré-‐definidos;
![Page 47: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/47.jpg)
Jena e SPARQL
• Filtros: – Permite que o usuário faça uma seleção tendo como base um certo padrão;
– Operador IN: verificar se o valor está entre um conjunto de valores pré-‐definidos;
![Page 48: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/48.jpg)
Jena e SPARQL
• Limitadores: – O comando LIMIT determina o número máximo de resultados que serão retornados;
– O comando OFFSET determina o número de resultados que serão “pulados” do resultado da consulta
![Page 49: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/49.jpg)
Jena e SPARQL
• Limitadores: – O comando LIMIT determina o número máximo de resultados que serão retornados;
– O comando OFFSET determina o número de resultados que serão “pulados” do resultado da consulta
![Page 50: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/50.jpg)
Jena e SPARQL
• Limitadores: – O comando LIMIT determina o número máximo de resultados que serão retornados;
– O comando OFFSET determina o número de resultados que serão “pulados” do resultado da consulta
![Page 51: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/51.jpg)
Jena e SPARQL
• Consultas“dinâmicas”: – Em muitos casos é necessário passar parâmetros para as consultas;
– JENA permita fazer o mapeamento entre uma variável da consulta com um valor desejado;
– O mapeamento é feito u4lizando as seguintes classes: • ParameterizedSparqlString; • QuerySolu+onMap;
![Page 52: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/52.jpg)
Jena e SPARQL
• Consultas“dinâmicas”: – ParameterizedSparqlString:
![Page 53: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/53.jpg)
Jena e SPARQL
• Consultas“dinâmicas”: – QuerySolu+onMap:
![Page 54: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/54.jpg)
Jena e SPARQL
• Conectando a banco de dados externos: – O JENA permite que o desenvolvedor acesse outros bancos de dados;
– Para realizar o acesso é necessário u4lizar o seguinte comando:
“QueryExecu4onFactory.sparqlService(“<Server sparql>", query)”
![Page 55: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/55.jpg)
Jena e SPARQL
• Conectando a banco de dados externos: – Conectando no DBPedia:
QueryExecu4on queryExecu4on = QueryExecu4onFactory.sparqlService("h.p://dbpedia.org/sparql", query);
ResultSet results = queryExecu4on.execSelect();
![Page 56: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/56.jpg)
String query1 =" PREFIX rdfs: <hhp://www.w3.org/2000/01/rdf-‐schema#>"+ "PREFIX rdf: <hhp://www.w3.org/
1999/02/22-‐rdf-‐syntax-‐ns#> "+ " PREFIX : <hhp://dbpedia.org/resource/>"+ " PREFIX d: <hhp://dbpedia.org/ontology/> "+ " SELECT dis4nct ?albumName ?ar4stName "+ " WHERE "+ " { "+ " ?album d:producer :Timbaland . "+ " ?album d:musicalAr4st ?ar4st ."+ " ?album rdfs:label ?albumName . "+ " ?ar4st rdfs:label ?ar4stName ." + " FILTER ( lang(?ar4stName) = \"en\")" + " FILTER ( lang(?albumName) = \"en\" )" + " }";
ResultSet results = SPARQLU4l.INSTANCE.dbpediaQuery(query1) ResultSetFormaher.out(System.out, results) ;
![Page 57: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/57.jpg)
Jena e SPARQL
• Op+onal: – Apresenta o dado caso ele exista
![Page 58: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/58.jpg)
Jena e SPARQL
• Op+onal: – Apresenta o dado caso ele exista
![Page 59: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/59.jpg)
Jena e SPARQL
• Op+onal com Filtro:
![Page 60: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/60.jpg)
Jena e SPARQL
• UNION:
![Page 61: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/61.jpg)
![Page 62: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/62.jpg)
Jena e SPARQL • UNION:
![Page 63: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/63.jpg)
Jena e SPARQL
• O SPARQL possui 4 “4pos” de consultas: – Select: é um projeção iden4fica quais variáveis nomeadas estão no conjunto resultado;
– Construct: monta um RDF baseado num grafo template. O grafo template pode ter variáveis que são definidas na clausula WHERE;
– Describe: monta um RDF baseado em um grafo que é montado pelo processador da query;
– Ask: retorna um booleano, true se o padrão for casado, ou false caso contrário;
![Page 64: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/64.jpg)
Jena e SPARQL • Construct:
![Page 65: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/65.jpg)
Jena e SPARQL • Construct:
![Page 66: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/66.jpg)
Jena e SPARQL • ASK:
![Page 67: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/67.jpg)
Jena e SPARQL • ASK:
![Page 68: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/68.jpg)
Jena e SPARQL
• Describe: – O processador da query que decide qual informação será retornada
![Page 69: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/69.jpg)
JENA e Ontologias
![Page 70: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/70.jpg)
Jena e Ontologias
• Jena permite trabalhar com:
1. RD F S (R e s o u r c e D e s c r i p 2 o n Framework Schema);
2. OWL (Web Ontology Language) e suas variações;
![Page 71: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/71.jpg)
Jena e Ontologias
• RDFS: – É uma linguagem de construção ontologia “fracas”.
– É dita uma linguagem “fraca” pois permite construir apenas simples hierarquias de conceitos e de relacionamentos;
![Page 72: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/72.jpg)
Jena e Ontologias
• RDFS:
![Page 73: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/73.jpg)
Jena e Ontologias
• OWL: – Primeira versão criada em 2004, pelo W3C Web Ontology (WebOnt);
– Segunda versão foi lançada em 2009, chamada de OWL 2;
– A OWL é uma linguagem que foi derivada das linguagens DAML e OIL;
– A OWL também estende o vocabulário do Resource Descrip2on Framework Schema (RDFS);
– Principais per|s: (i) OWL Full , (ii) OWL DL e (iii) OWL Lite;
– Outros per|s: (i) OWL EL, (ii) OWL QL e (iii) OWL RL
![Page 74: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/74.jpg)
Jena e Ontologias
• OWL: – Composta de três blocos semân4cos:
• Classes; • indivíduos; • Propriedades (Object Proper4es e datatype proper4es);
![Page 75: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/75.jpg)
Jena e Ontologias • OWL: Classes:
#Canine
ex: Canine owl: Class.
ex: Toto ex: Canine
#Canine
ex: Mammal owl: Class
ex: Canine owl: class; rdfs: subClassOf ex: Mammal
ex: Toto ex: Canine
![Page 76: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/76.jpg)
Jena e Ontologias • OWL: Classes:
![Page 77: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/77.jpg)
Jena e Ontologias • OWL: Propriedade:
#Canine
ex: registeredName owl: DataTypeProperty;
rdfs:subPropertyof ex:name;
As propriedades fundamentais em OWL são: OWL: ObjectProperty e owl:DataTypeProperty.
![Page 78: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/78.jpg)
Jena e Ontologias • OWL:
![Page 79: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/79.jpg)
Jena e Ontologias • OWL:
![Page 80: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/80.jpg)
Jena e Ontologias • OWL:
Relacionamento Definição
Owl:symetricproperty (A p B) implica que (B p A)
Owl: Asymetricproperty (A p B) implica que não (B p A)
OWL: reflexiveProperty Implica que (A p A), para todo A.
OWL: irreflexiveProperty Implica que não há (A p A), para
todo A.
OWL: transitiveProperty Se (A p B) e (B p C) então (A p
C).
OWL: functionalProperty Se (A p x) e ( C p y) então x = y.
OWL: ImverseFunctionalProperty Se (A p B) e (B p C) então A = C
![Page 81: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/81.jpg)
Jena e Ontologias • Criando uma Ontologia:
– A configuração padrão é: • OWL-‐FULL; • Armazenamento em memória; • RDFS inferência;
![Page 82: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/82.jpg)
Jena e OWL
![Page 83: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/83.jpg)
Jena e Ontologias • Carregando um modelo:
![Page 84: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/84.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
![Page 85: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/85.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
– Antes de realizar o alinhamento é necessário decidir o
nível do alinhamento: 1. Nível de Classe; 2. Nível de propriedade; 3. Nível de individuo;
![Page 86: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/86.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
![Page 87: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/87.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
1. Carregue as ontologias com a semân4ca dos elementos;
2. Realizar o alinhamento entre os elementos das ontologias;
3. Aplique um reasoner para realizar o alinhamento;
![Page 88: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/88.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
1. Carregue as ontologias com a semân4ca dos elementos;
![Page 89: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/89.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
2. Realizar o alinhamento entre os elementos das ontologias;
![Page 90: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/90.jpg)
Jena e Ontologias
![Page 91: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/91.jpg)
Jena e Ontologias
![Page 92: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/92.jpg)
Jena e Ontologias
![Page 93: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/93.jpg)
Jena e Ontologias Como alinhar duas ontologias dis+ntas?
3. Aplique um reasoner para realizar o alinhamento;
![Page 94: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/94.jpg)
Jena e Ontologias Regras:
– Suporte a regras; – padrão If-‐then; – O componente permite a execução de regras de 4po forward chaining e backward chaining.
emailChange:
(?person foaf:mbox ?email), strConcat (?email, ? lit),
regex (? lit, ‘(.*gmail.com)’)
à(?person rdf: type people:GmailPerson)
![Page 95: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/95.jpg)
Jena e Ontologias Regras : Forward Chainning
![Page 96: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/96.jpg)
Jena e Ontologias • Regras : Backward Chainning
![Page 97: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/97.jpg)
Jena e Ontologias Regras:
![Page 98: Jena - LCAD - UFESvitorsouza/archive/2020/wp... · Jena • Introdução: – Desenvolvido&no&HP&Labem2000; & – Criado¶o&desenvolvimentode&aplicaçõesdeLinking& Datae&Seman4c&Web](https://reader033.vdocuments.mx/reader033/viewer/2022052303/608b5293f55afa66580249a6/html5/thumbnails/98.jpg)
Referências [1] Hebeler, John; Fisher, Mahew; Blace, Ryan; Perez-‐Lopez, Andrew. 2009.Seman+c Web Programming. Wiley Publishing, ISBN: 9780470418017. [2] Jena, 2014. hjps://jena.apache.org/. Acessado em 23/06/2014. [3] DuCharme, Bob. Learing SPARQL. 2 Ed. [4] Gómez-‐Pérez, Asunción; Fernández-‐López, Mariano; Corcho, Oscar. 2004.Ontology Engineering. Spriger. ISBN: 1852335513.