1 / 24

Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema. Jeen Broekstra, Arjohn Kampman, and Frank van Harmelen 정홍석 2005.01.20. Introduction. Sesame : architecture for storage and querying of RDF and RDFS information allows persistent storage of RDF and RDFS

sierra
Download Presentation

Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sesame:A Generic Architecture for Storing and Querying RDF and RDF Schema Jeen Broekstra, Arjohn Kampman, and Frank van Harmelen 정홍석 2005.01.20

  2. Introduction • Sesame : architecture for storage and querying of RDF and RDFS information • allows persistent storage of RDF and RDFS • provides access methods to export and querying modules Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  3. 1. The Need for an RDFS Query Language • consideration for querying • at the syntactic level • XML documents • not necessarily true • non-XML syntaxes for RDF exist • at the structure level • consist of a set of triples • at the semantic level • constitute one or more graphs with partially predefined semantics Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  4. 참고: XML과 RDF의 차이 Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  5. Querying at the Syntactic Level(1/3) • RDF is kind of XML • any RDF model can be written down in XML notation.  can query RDF using an XML query language • But • RDF data model is different from the XML tree structure  very hard to query. Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  6. Querying at the Syntactic Level(2/3) • example <rdf:Description rdf:about=http://www.enersearch.se/corporate/organisation/hohome.html> <s:hasName>Hans Ottosson</s:hasName> <s:worksFor rdf:resource=http://www.enersearch.com/> </rdf:Description> <rdf:Description rdf:about=http://www.enersearch.com> <s:legalName>EnersearchAB</s:legalName> <rdf:type rdf:resource=http://www.description.org/schema#Consortium/> </rdf:Description> …/hohome.html …/enersearch.html worksFor hasName legalName “Hans Ottosson” “Enersearch AB” Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  7. Querying at the Syntactic Level(3/3) • RDF query language • graph: edges and nodes are labeled • query • ‘Give me all the relationships that exist between Hans Ottosson and Enersearch AB’ • XML query language • tree: nodes are labeled • query: cannot query relation • Give me all the elements nested in a Description element with an about attribute with value “http://www.enersearch.../hohome.html”, of which the value of its resource attribute occurs elsewhere as the about attribute value of a Description element that has a nested element title with the value “Enersearch AB” • not unique syntax Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  8. domain range Employee worksFor Company subClassOf VicePresident SCHEMA DATA type type worksFor …/hohome.html …/enersearch.html 1.2 Querying at the Structure Level • RDF document represents a set of triples • query using triple • SELECT ?x FROM somesource WHERE (rdf::type ?x VicePresident) • is this query possible? • SELECT ?x FROM somesource WHERE (rdf::type ?x Employee) Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  9. 1.3 Querying at the Semantic Level(1/2) • Means to query at the semantic level • querying the full knowledge that a RDFS description entails not just the explicitly asserted statements • Compute and store the closure of the given graph as a basis for querying • Let a query processor infer new statements as needed per query Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  10. 1.3 Querying at the Semantic Level(2/2) • RQL(the RDF Query Language) • defined by • core queries: Class, Property, subClassOf… • basic filters: select-from-where • Functional composition of queries • additional function • query the structure of the subclass hierarchy • ex) subClassOf(Employee), subClassOf^(Employee) • specify a path expression • ex) select Y, $Y from VicePresident{X}.worksFor{Y:$Y} Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  11. 2. Sesame Architecture • Overview • DBMS-independent • SAIL API • different ways to communicate • protocol handler module • Query Module • Admin Module • Export Module Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  12. 2.1 The RQL Query module • The Sesame version of RQL features better compliance to W3C specifications • support for optional domain and range restrictions • Query parsing and optimization Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  13. 2.2 The Admin Module • Two main functions • incrementally adding RDF data/schema information • clearing a repository • partial delete function is not yet available Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  14. 2.3 The RDF Export Module • Export the contents of a repository formatted in RDF • Able to selectively export the schema, the data, or both Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  15. 3.The SAIL API(1/3) • A set of Java interfaces between three modules and repository • Main design principles • Define a basic interface • storing, retrieving, deleting • Abstract from the actual storage mechanism • Be usable on low-end hardware like PDAs • but also offer enterprise level capability • Be extendable to other RDF-based languages • like DAML+OIL Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  16. 3.The SAIL API(2/3) • Other proposals under development • share characteristics with • Jena toolkit • Redland Application Framework • Weighted on the retrieval side • offers methods • querying class • property subsumption • domain and range restriction Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  17. 3.The SAIL API(3/3) • Sesame offers several implementations of the SAIL API • SQL92SAIL • aim: to be able to connect to any RDBMS • inference module for RDFS • concurrency handling • support concurrency control for any type of repository Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  18. 4. Experiences • URL: http://www.openrdf.org • Database platforms • PostgreSQL, MySQL • Protocol • HTTP • SAIL • SQL92SAIL, PostgreSQL SAIL, MySQL SAIL Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  19. 4.2 RDFS in Practice • Ambiguity • Formal Model Theory for RDF • the RDF Core Working Group • specify model and schema semantics more precisely and include a formal procedure for computing Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  20. 4.3 PostgreSQL and SAIL • PostgreSQL • object-relationalDBMS support sub-table relations between its tables • ‘resources’ map all resources, literal values and ID • difficult to add table • caching Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  21. 4.3 MySQL • MySQL • the database schema does not change when the RDFS changes advantage where RDFS is unstable Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  22. 5. Future Work • Transaction Rollback Support • support rollback when error occurs • Versioning Support • support various platforms • Adding and Extending Functional Modules • updating, partial deleting, visualization … • DAML+OIL Support Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  23. Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

  24. Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema

More Related