Gryphon Framework - Preliminary Results Feb-2014

50 %
50 %
Information about Gryphon Framework - Preliminary Results Feb-2014
Technology

Published on February 18, 2014

Author: adrielcafe

Source: slideshare.net

Description

Preliminary Results from Gryphon Framework in February, 2014

* Preliminary Results - February, 2014 ADRIEL CAFÉ AAC3@CIN.UFPE.BR

Gryphon Framework Our goal is to simplify the integration process of ontologies and relational databases Virtual mediation of SPARQL queries Based on GAV (Global As View) approach Developed with Java ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Features (work in progress) Supports multiple connections from ontologies and relational databases Designed for large data sources Align ontologies and map databases automatically Rewrites SPARQL queries made ​for global ontology in: ◦ SPARQL queries for local ontologies ◦ SQL queries for local databases ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Why Gryphon? Gryphon, griffin or griffon (Greek: γρύφων, grýphōn, or γρύπων, grýpōn; Latin: gryphus). Is a legendary creature with: ◦ The body, tail, and back legs of a lion; ◦ The head and wings of an eagle, and an eagle's talons as its front feet Because the lion was traditionally considered the king of the beasts and the eagle the king of birds, the gryphon was thought to be an especially powerful and majestic creature. The gryphon creature represents a perfect union between two distinct races. Bringing to our context, the Gryphon Framework proposes a harmonious integration between ontologies and relational databases. ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Gryphon Architecture SPARQL Query 3rd Party Frameworks Alignment and Mapping Query Rewriting SPARQL Query SQL Query ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

3rd party frameworks used Jena http://jena.apache.org OWL API http://owlapi.sourceforge.net D2RQ http://d2rq.org Alignment API http://alignapi.gforge.inria.fr ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Gryphon integration process 1. Maps the local databases using D2RQ (creates TTL files) 2. Aligns the global ontology with the database mappings using Alignment API (creates OWL files) 3. Aligns the global ontology with the local ontologies using Alignment API (creates OWL files) 4. Uses the alignment files to rewrite SPARQL queries 5. Queries the local sources: 1. 2. 6. Uses Jena to query the local ontologies Uses D2RQ to rewrite SPARQL queries in SQL queries Get the queries' results and convert them to global ontology components (classes, attributes, instances, axioms) ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Practical Example

Sources used in this example Bibtex OWL Ontology http://zeitkunst.org/bibtex/0.1/bibtex.owl Publication OWL Ontology http://ebiquity.umbc.edu/v2.1/ontology/p ublication.owl Bibsql MySQL Database http://ftp.math.utah.edu/pub/bibsql/ Global Bibtex OWL Ontology ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Sources used in this example Bibtex OWL Ontology http://zeitkunst.org/bibtex/0.1/bibtex.owl Publication OWL Ontology http://ebiquity.umbc.edu/v2.1/ontology/p ublication.owl Bibsql MySQL Database http://ftp.math.utah.edu/pub/bibsql/ Global Bibtex OWL Ontology ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Sources used in this example Bibtex OWL Ontology http://zeitkunst.org/bibtex/0.1/bibtex.owl Publication OWL Ontology http://ebiquity.umbc.edu/v2.1/ontology/p ublication.owl Bibsql MySQL Database http://ftp.math.utah.edu/pub/bibsql/ Global Bibtex OWL Ontology ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Sources used in this example Bibtex OWL Ontology http://zeitkunst.org/bibtex/0.1/bibtex.owl Publication OWL Ontology http://ebiquity.umbc.edu/v2.1/ontology/p ublication.owl Bibsql MySQL Database http://ftp.math.utah.edu/pub/bibsql/ Global Bibtex OWL Ontology ADRIEL CAFÉ <AAC3@CIN.UFPE.BR> * We’ll focus in only one domain part

The 4 steps to integration 1. Set up the Gryphon Framework 2. Set the global ontology and the local ontologies and databases 3. Align the ontologies and map the databases 4. Query the global ontology using SPARQL ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Step 1: Set up the framework GryphonConfig.setWorkingDirectory(Paths.get("alignments")); GryphonConfig.setAlignmentThreshold(0.3); GryphonConfig.setAlignmentFunctions(new AlignmentFunctions[] { AlignmentFunctions.EQUAL_DISTANCE, AlignmentFunctions.HAMMING_DISTANCE, AlignmentFunctions.JARO_MEASURE, AlignmentFunctions.JARO_WINKLER_MEASURE, AlignmentFunctions.LEVENSHTEIN_DISTANCE, AlignmentFunctions.NEEDLEMAN_WUNSCH_2_DISTANCE, AlignmentFunctions.NEEDLEMAN_WUNSCH_DISTANCE, AlignmentFunctions.NGRAM_DISTANCE, AlignmentFunctions.SMOA_DISTANCE, AlignmentFunctions.SUBSTRING_DISTANCE }); ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Step 2: Set the sources OWLOntology globalOnt = new OWLOntology(uriToGlobalOnt); OWLOntology localOntBibtex = new OWLOntology(uriToBibtex); OWLOntology localOntPublication = new OWLOntology(uriToPublication); MySQLDatabase localDBBibsql = new MySQLDatabase("localhost", 3306, "root", “root", "bibsql"); Gryphon.setGlobalOntology(globalOnt); Gryphon.getLocalOWLOntologies().put("bibtex", localOntBibtex); Gryphon.getLocalOWLOntologies().put("publication", localOntPublication); Gryphon.getLocalDatabases().put("bibsql", localDBBibsql); ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Step 3: Align and map Gryphon.alignAndMap(); ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Step 4: Use SPARQL to query String queryGlobal = "PREFIX owl: <http://www.w3.org/2002/07/owl#> n" + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> n“ + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> n" + "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> n" + "PREFIX global_bibtex: <http://aac3.cin.ufpe.br/ns/global_bibtex#> n" + "SELECT DISTINCT ?x ?y n" + "WHERE { global_bibtex:author ?x ?y . }"; Gryphon.query(queryGlobal); ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Putting it all together GryphonConfig.setWorkingDirectory(Paths.get("alignments")); GryphonConfig.setAlignmentThreshold(0.3); GryphonConfig.setAlignmentFunctions(new AlignmentFunctions[] { // Alignment Functions }); OWLOntology globalOnt = new OWLOntology(uriToGlobalOnt); OWLOntology localOntBibtex = new OWLOntology(uriToBibtex); OWLOntology localOntPublication = new OWLOntology(uriToPublication); MySQLDatabase localDBBibsql = new MySQLDatabase("localhost", 3306, "root", “root", "bibsql"); Gryphon.setGlobalOntology(globalOnt); Gryphon.getLocalOWLOntologies().put("bibtex", localOntBibtex); Gryphon.getLocalOWLOntologies().put("publication", localOntPublication); Gryphon.getLocalDatabases().put("bibsql", localDBBibsql); Gryphon.alignAndMap(); String queryGlobal = "PREFIX owl: <http://www.w3.org/2002/07/owl#> n" + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> n" + "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> n" + "PREFIX global_bibtex: <http://aac3.cin.ufpe.br/ns/global_bibtex#> n" + "SELECT DISTINCT ?x ?y n" + "WHERE { global_bibtex:author ?x ?y . }"; Gryphon.query(queryGlobal); ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Rewritten queries Global Ontology (Original query) SELECT DISTINCT ?x ?y WHERE { global_bibtex:author ?x ?y . } Local Ontologies and Databases (Rewritten queries) Bibtex Ontology SELECT DISTINCT ?x ?y WHERE { <http://purl.org/net/nknouf/ns/bibtex#hasAuthor> ?x ?y } Publication Ontology SELECT DISTINCT ?x ?y WHERE { <http://ebiquity.umbc.edu/v2.1/ontology/publication.owl#author> ?x ?y } Bibsql Database SELECT DISTINCT ?x ?y WHERE { <alignments/dbPublication.ttl#author> ?x ?y } ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Query results Bibtex Ontology X Y <http://purl.org/dc/elements/1.1/description> "This is tricky due to the fact that order is not (generally) preserved in RDF documents. The problem arises when you want to have an author list where the order is _extremely_ important. How shall we do that? Perhaps we want to define "hasPrimaryAuthor", "hasSecondaryAuthor", "hasTertiaryAuthor", and "hasRemainingAuthors", or something of that sort. This will be have to given more thought." <http://www.w3.org/2000/01/rdf-schema#comment> "The name(s) of the author(s), in the format described in the LaTeX book."@en <http://www.w3.org/2000/01/rdf-schema#label> "has author"@en <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://purl.org/net/nknouf/ns/bibtex#humanCreator> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#string> <http://www.w3.org/2000/01/rdf-schema#domain> <http://purl.org/net/nknouf/ns/bibtex#Entry> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Query results Publication Ontology X Y <http://www.w3.org/2000/01/rdf-schema#label> "Resource Author" <http://www.w3.org/2000/01/rdf-schema#range> <http://ebiquity.umbc.edu/v2.1/ontology/person.owl#Person > <http://www.w3.org/2000/01/rdf-schema#domain> <http://ebiquity.umbc.edu/v2.1/ontology/publication.owl#Re source> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> Bibsql Database Working on it ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

Next development steps 1. Query the local databases using D2RQ 2. Unify the results (convert to components of global ontology) 3. Improve the alignment and mapping process 4. Improve the query rewrite algorithm 5. Test on more biggest and complex sources ADRIEL CAFÉ <AAC3@CIN.UFPE.BR>

That's all folks! Adriel Café aac3@cin.ufpe.br

Add a comment

Related presentations

Related pages

Gryphon | LinkedIn

View 10079 Gryphon posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn.
Read more

Preliminary Results - Redhall Group plc

Preliminary Results for the year ended 30 September 2013 Richard Shuttleworth, ... key framework contracts • Marine grew by 20% in the year working on
Read more

University of Guelph - Guelph Athletics Landing Page

Schedule & Results; Men's Roster; Women's Roster; ... Guelph Gryphons vs Laurentian Voyageurs ... Gryphon Football vs. Montreal. Watch Here. 1:44. Upcoming ...
Read more

Improving Critical Infrastructure Cybersecurity Executive ...

3 The Preliminary Cybersecurity Framework for improving critical infrastructure ... 194 identified as a result of the Framework efforts to date.
Read more

EXAMPLES OF MAB

The methodology of Operation GRYPHON was highly ... (Framework Convention on ... states of excise taxes and duties as a result of illegal ...
Read more

US defeats Russia 3-2 in Olympics hockey preliminary round ...

Cam Fowler and Joe Pavelski scored in regulation for the Americans in the marquee game of the preliminary round. ... and this result only helped ...
Read more

PRELIMINARY AUDITED CONDENSED CONSOLIDATED RESULTS FOR THE ...

PRELIMINARY AUDITED CONDENSED ... statements have been prepared in accordance with the framework concepts and the ... 28 Feb 2014 R’000 28 ...
Read more

A new look for .NET Reference Source - .NET Blog - Site ...

24 Feb 2014 10 :14 AM ... new experience to use the .NET Framework reference ... result in the symbols being loaded from the ...
Read more

Version 1.0 National Institute of Standards and Technology ...

February 12, 2014 Cybersecurity Framework Version 1.0 Table of Contents . Executive Summary ...
Read more