def __init__(self, reader=None, writer=None, *args, **kwargs): self.log = logging.getLogger(self.__class__.__name__) self.log.info('initializing the store') load_plugins() self.__default_context = None if "default_context" in kwargs: self.__default_context = URIRef(kwargs["default_context"]) if reader: if reader in __readers__: self.reader = __readers__[reader](*args, **kwargs) elif isinstance(reader, RDFReader): # We've received already configured reader, use it. self.reader = reader else: raise PluginNotFoundException( 'The <%s> READER plugin was not found' % (reader)) else: self.reader = RDFReader(*args, **kwargs) if writer: if writer in __writers__: self.writer = __writers__[writer](self.reader, *args, **kwargs) elif isinstance(writer, RDFWriter): # We've received already configured writer, use it. self.writer = writer else: raise PluginNotFoundException( 'The <%s> WRITER plugin was not found' % (reader)) else: self.writer = RDFWriter(self.reader, *args, **kwargs) if hasattr(self.reader, 'use_subqueries'): self.use_subqueries = property( fget=lambda self: self.reader.use_subqueries) self.log.info('store initialized')