180 likes | 420 Views
Sesame: A generic Architecture for Storing and Querying RDF and RDF Schema. By Angela Maduko April 2002. Introduction. Aidministrator based in Netherlands, is a software provider in the market of information and content management. The company currently has two products:
E N D
Sesame: A generic Architecture for Storing and Querying RDF and RDF Schema By Angela Maduko April 2002
Introduction Aidministrator based in Netherlands, is a software provider in the market of information and content management. The company currently has two products: • Spectacle: This manages the presentation of information. • Sesame
Sesame The Sesame system is a web-based architecture that allows the persistent storage of RDF data and Schema as well as online querying of the information “Sesame is one of the first persistent storages for RDF/RDFS in the world. Sesame is the first to support the RQL query language for access of the stored information and its schema” from: http://www.aidministrator.nl
Sesame’s Architecture Source: Sesame: A generic Architecture for querying and storing RDF and RDF Schema
Repository Repositories - To store RDF data persistently, Sesame needs a scalable repository. Any kind of repositories that can store RDF is used, such as: • DBMSs: Any kind of database can be used • Existing RDF stores: Sesame can use an RDF store if a RAL that can communicate with it is written • RDF files: These can also be used. It becomes more practical when combined with a RAL that caches all the data in memory • RDF network services: When performance is not an issue, any network service that offers basic functionality for storing, retrieving and deleting RDF data can be used.
Repository Abstraction Layer The Repository Abstraction Layer (RAL): This is an interface that offers RDF-specific methods to its clients and translates these methods to calls to its specific DBMS. It contains all DBMS specific code, so as to keep Sesame DBMS independent, making it possible to implement Sesame on top of a wide variety of repositories without changing any other component of Sesame.
Stacking Abstraction Layers It is possible to put one RAL on top of the other, however, Sesame’s functional modules are only able to communicate with the RAL at the top of the stack Calls to the RAL from the modules are propagated down the stack, until one of the RALs finally handles the actual request and the result is then propagated back up again.
Stacking Abstraction Layers Source: Sesame: A generic Architecture for querying and storing RDF and RDF Schema
Functional Modules Sesame’s Functional Modules : These are the clients of the RAL and currently, there are three such modules: • The RQL Module • The RDF Administration Module • The RDF Export Module
The RQL Query Module • This module evaluates RQL queries posed by the user • RQL is a proposal for a declarative language for RDF and RDFS. A slightly different version of this proposed RQL was implemented in Sesame • The path this module follows is shown below Source: Sesame: A generic Architecture for querying and storing RDF and RDF Schema
The RDF Administration Module • Sesame provides an administration module in order to allow RDF data and schema information to be inserted(incrementally) into as well as deleted from a repository. • The current implementation offers two main functions: • Incrementally adding RDF data/schema information • Clearing a repository
The Administration Module • The admin module retrieves its information form an RDF(S) source(usually an online RDF(S) document in XML form), parses it using an RDF parser(currently uses SiRPAC). The admin module checks each(S, P, O) statement it gets from the parse for consistency with the information already present in the repository and infers implied information if necessary for instance • If P equals type, it infers that O must be a class • If P equals subClassOf, it infers that S and O are classes etc. • In all the cases, it checks that the inferred information is consistent with the current contents of the repository and then adds it to the repository.
The RDF Export Module • This module allows for the extraction of the complete schema and / or data from a model in RDF format • It supplies the basis for using Sesame with other RDF tools(those that need only the schema part of the data as well as those need only the non-schema part of the data)as all RDF tools will at least be able to read this format
Protocol Handlers Different ways to communicate with the Sesame modules may be desirable, depending on the environment in which it is deployed, for instance, communication over HTTP may be preferable in a Web context Protocol handlers are provided as intermediaries between the functional modules and their clients, each handling a specific protocol, to allow maximal flexibility Additional protocol handlers can be added which makes it easy to connect Sesame to different operating environments
Deployment An implementation of Sesame which is freely available for non-commercial use, that follows the described architecture exists, using the following choices for the modules: • PostgreSQL for the repository • HTTP protocol handler • SiRPAC RDF Parser Sesame is currently being deployed as the central infrastructure for the On-To-Knowledge case studies, serving as the central repository for a number of tools
Deployment in On-To-Knowledge Source: Sesame: A generic Architecture for querying and storing RDF and RDF Schema
Demo • select X, Y • from {X} http://protege.stanford.edu/lsdisLib#Author{Y} • select X, Y • from {X} http://protege.stanford.edu/lsdisLib#Title{Y} • select X, Y • from {X} http://protege.stanford.edu/lsdisLib#Author{Y} • where Y = "A. Sheth” • select X, Y • from {X} http://protege.stanford.edu/lsdisLib#Keywords{Y} • where Y like ”*workflow*” • select X, Y • from {X} http://protege.stanford.edu/lsdisLib#Author{Y} • where Y like "*A. Sheth*”
References • http://www.aidministrator.nl • Jeen Broekstra, Arjohn Kampman: Sesame: A generic Architechture for Storing and Querying RDF and RDF Schema