* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slide
Survey
Document related concepts
Relational algebra wikipedia , lookup
Microsoft Access wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Ingres (database) wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational model wikipedia , lookup
Transcript
Use Case: Populating Business Objects W3C Workshop on RDF Access to Relational Databases Andy Seaborne (HP), Damian Steer (ILRT) © 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Business Problem • New business process • XML objects • Data in various places 3 Technical Problem <?xml> … <site> <location>??</location> <name>??</name> <capacity>??</capacity> <history> . . . </history> </site> … ??? 4 Geographic Production Asset & History Technical Approach Single SPARQL Query Translation between domains SquirrelRDF Databases 5 Databases Databases SquirrelRDF • http://jena.sf.net/SquirrelRDF • SPARQL to SQL − And LDAP and IMAP • RDB Mapper − (c.f. TimBL’s Design note) • Simple servlet • Results in SPARQL XML Results Format, JSON, … • … and RDF. 6 RDB Mapper ex:map a db:Map ; db:mapsClass ex:People , ex:Department . • Automatic Generation • A map is a number of mapped classes − Not necessarily in the same database 7 RDB Mapper : Classes CREATE TABLE People ( id int, name varchar(30), PRIMARY KEY id ) ex:People a rdfs:Class ; db:primaryKey ex:propA ; db:database <jdbc:mysql://localhost/conference> ; db:table “People" . • 8 Tables map to classes RDB Mapper : Properties CREATE TABLE People ( id int, name varchar(30), PRIMARY KEY id ) ex:people_id a rdf:Property ; rdfs:domain ex:people ; db:col "id" ; db:colType "int" . ex:people_name a rdf:Property ; rdfs:domain ex:people ; db:col "name" ; db:colType "varchar" . 9 SquirrelRDF • Hard: SPARQL patterns with a property variable − { <id1234> ?p “foo” } • Hard: Query over types − { ?s rdf:type ?type } 10 Rules • SPARQL basic graph pattern − point at which data is accessed in SPARQL • BGP translation − SPARQL pattern match => calculate => generate pattern − Generate pattern more than a BGP (e.g. UNION) • Applied to query coming in • Targeting databases left to SquirrelRDF 11 Rules Used • Used − Reformat a key − Property => property − Join across databases by key − Multiple places for one value • Notes − In this use case, no rewriting the query results was necessary, but likely needed in other situations. 12 Summary • Domain mapping problem is not SQL specific − SPARQL-rewrite rules encapsulate mapping • Direct database encapsulation − Scale, maintenance 13 14 Jena extended tools family UI PortalCore Brownsauce Facetted browse RDF explorer Access DARQ Joseki distributed SPARQL query RDF Server External bridges XML Gloze Tools RDF OWL XML Schema GRDDL RDBMS 15 query & update Ontology API RDF RDF/XML N3 Turtle N-triple RDF Eyeball Writers Inference None Rules External Graph and query (Store SPI) SPARQL SquirrelRDF LDAP SPARQL API RDF API Readers XML with GRDDL annotation Jena Memory File backed RDB RDF/XML N3 Turtle N-triple SDB SPARQL database Configurable RDF validator Command line tools - merge RDF - convert format - schemagen - db load Example: Semantic Web Environmental Directory www.swed.org.uk 16 Example: Seeker – an Education Portal for the Singapore Government 17