Example #1
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__server = kwargs['server'] if 'server' in kwargs else 'localhost'
        self.__port = kwargs['port'] if 'port' in kwargs else 6789
        self.__catalog = kwargs['catalog'] if 'catalog' in kwargs else None
        self.__repository = kwargs['repository'] if 'repository' in kwargs else None

        if not self.__catalog or not self.__repository:
            raise Exception('Must specify the <catalog> and the <repository> arguments')

        self.__allegro_server = AllegroGraphServer(self.__server, port = self.__port)
        self.__allegro_catalog = self.__allegro_server.openCatalog(self.__catalog)
        if type(self.__repository) == list and len(self.__repository) > 1:
            connections_to_federate = []
            repositories_to_federate = []
            for one_repository in self.__repository:
                repositories_to_federate.append(self.__allegro_catalog
                                               .getRepository(one_repository, Repository.ACCESS))
                connections_to_federate.append(self.__allegro_catalog
                                               .getRepository(one_repository, Repository.ACCESS)
                                               .initialize().getConnection())
            self.__allegro_repository = repositories_to_federate
            self.__con = self.__allegro_server.openFederated(connections_to_federate, True)
        else:
            if type(self.__repository) == list and len(self.__repository) == 1:
                self.__repository = self.__repository[0]
            self.__allegro_repository = self.__allegro_catalog.getRepository(self.__repository, Repository.ACCESS)
            self.__allegro_repository.initialize()

            self.__con = self.allegro_repository.getConnection()
Example #2
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__server = kwargs['server'] if 'server' in kwargs else 'localhost'
        self.__port = kwargs['port'] if 'port' in kwargs else 6789
        self.__user = kwargs['user'] if 'user' in kwargs else None
        self.__password = kwargs['password'] if 'password' in kwargs else None
        self.__catalog = kwargs['catalog'] if 'catalog' in kwargs else None
        self.__repository = kwargs[
            'repository'] if 'repository' in kwargs else None

        if not self.__catalog or not self.__repository:
            raise Exception(
                'Must specify the <catalog> and the <repository> arguments')

        self.__allegro_server = AllegroGraphServer(self.__server,
                                                   port=self.__port,
                                                   user=self.__user,
                                                   password=self.__password)
        self.__allegro_catalog = self.__allegro_server.openCatalog(
            self.__catalog)
        self.__allegro_repository = self.__allegro_catalog.getRepository(
            self.__repository, Repository.ACCESS)
        self.__allegro_repository.initialize()

        self.__con = self.allegro_repository.getConnection()
Example #3
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__rdflib_store = kwargs.get("rdflib_store", "IOMemory")
        self.__rdflib_identifier = kwargs.get("rdflib_identifier") 
        self.__commit_pending_transaction_on_close = \
            kwargs.get("commit_pending_transaction_on_close", True)

        self.__graph = ConjunctiveGraph(store = self.__rdflib_store,
                                        identifier = self.__rdflib_identifier)
Example #4
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__endpoint = kwargs['endpoint'] if 'endpoint' in kwargs else None
        self.__results_format = JSON

        self.__sparql_wrapper = SPARQLWrapper(self.__endpoint, self.__results_format)
        if kwargs.get("use_keepalive", "").lower().strip() == "true":
            if hasattr(SPARQLWrapper, "setUseKeepAlive"):
                self.__sparql_wrapper.setUseKeepAlive()
Example #5
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__rdflib_store = kwargs.get("rdflib_store", "IOMemory")
        self.__rdflib_identifier = kwargs.get("rdflib_identifier")
        self.__commit_pending_transaction_on_close = \
            kwargs.get("commit_pending_transaction_on_close", True)

        self.__graph = ConjunctiveGraph(store=self.__rdflib_store,
                                        identifier=self.__rdflib_identifier)
Example #6
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__endpoint = kwargs['endpoint'] if 'endpoint' in kwargs else None
        self.__results_format = JSON

        self.__sparql_wrapper = SPARQLWrapper(self.__endpoint,
                                              self.__results_format)
        if kwargs.get("use_keepalive", "").lower().strip() == "true":
            if hasattr(SPARQLWrapper, "setUseKeepAlive"):
                self.__sparql_wrapper.setUseKeepAlive()
Example #7
0
    def test_all_full(self):
        """ Test RDFQueryReader.all() method with full=True. """

        concept = ns.FOAF["PERSON"] 
        expected_result = [("a", "b", "c")]
        query_reader = RDFQueryReader(use_subqueries = True)
        
        def triples_func(*args, **kwargs):
            return expected_result
        
        query_reader._triples = triples_func

        result = query_reader._all(concept, full = True)
        self.assertEqual(result, expected_result)
Example #8
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__endpoint = kwargs['endpoint'] if 'endpoint' in kwargs else None
        self.__results_format = JSON


        self.__sparql_wrapper = SPARQLWrapper(self.__endpoint, returnFormat=self.__results_format)
        user        = kwargs.get('user',None)
        password    = kwargs.get('password',None)
        if user and password:
            self.__sparql_wrapper.setCredentials(user, password)

        if kwargs.get("use_keepalive", "").lower().strip() == "true":
            if hasattr(SPARQLWrapper, "setUseKeepAlive"):
                self.__sparql_wrapper.setUseKeepAlive()
Example #9
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__server = kwargs['server'] if 'server' in kwargs else 'localhost'
        self.__port = kwargs['port'] if 'port' in kwargs else 6789
        self.__catalog = kwargs['catalog'] if 'catalog' in kwargs else None
        self.__repository = kwargs['repository'] if 'repository' in kwargs else None

        if not self.__catalog or not self.__repository:
            raise Exception('Must specify the <catalog> and the <repository> arguments')

        self.__allegro_server = AllegroGraphServer(self.__server, port = self.__port)
        self.__allegro_catalog = self.__allegro_server.openCatalog(self.__catalog)
        self.__allegro_repository = self.__allegro_catalog.getRepository(self.__repository, Repository.ACCESS)
        self.__allegro_repository.initialize()

        self.__con = self.allegro_repository.getConnection()
Example #10
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)
        self.__server = kwargs['server'] if 'server' in kwargs else 'localhost'
        self.__port = kwargs['port'] if 'port' in kwargs else 6789
        self.__root_path = kwargs['root_path'] if 'root_path' in kwargs else '/sesame'
        self.__repository_path = kwargs['repository_path'] if 'repository_path' in kwargs else ''
        self.__repository = kwargs['repository'] if 'repository' in kwargs else None
        self.__use_allegro_extensions = kwargs['use_allegro_extensions'] if 'use_allegro_extensions' in kwargs else False

        self.log.info('INIT : ' + unicode(self.server) + ',' + unicode(self.port) + ',' + unicode(self.root_path) + ',' + unicode(self.repository_path))

        if not self.repository:
            raise Exception('No <repository> argument supplied.')

        if self.__use_allegro_extensions:
            opened = self.get_allegro().open_repository(self.repository)
            self.log.info('ALLEGRO repository opened: ' + unicode(opened))
Example #11
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__endpoint = kwargs['endpoint'] if 'endpoint' in kwargs else None
        self.__results_format = JSON

        self.__sparql_wrapper = SPARQLWrapper(self.__endpoint, self.__results_format)
        if kwargs.get("use_keepalive", "").lower().strip() == "true":
            if hasattr(SPARQLWrapper, "setUseKeepAlive"):
                self.__sparql_wrapper.setUseKeepAlive()

        # Try to use cjson
        try:
            import cjson
            jsonlayer.use("cjson")
            self.log.info("using cjson")
        except:
            self.log.warning("cjson not available, falling back on slower simplejson")
Example #12
0
    def test_all_subjects(self):
        """ Test RDFQueryReader.all() method.  
            
        Mock query_reader._values function, test that _all returns list
        of URIs.
         
        """

        concept = ns.FOAF["PERSON"] 
        expected_result = {"uri1" : [concept], "uri2" : [concept]}

        query_reader = RDFQueryReader()
        def values_func(*args, **kwargs):
            return expected_result
        query_reader._values = values_func
        
        result = query_reader._all(concept)
        self.assertEqual(set(result), set(["uri1", "uri2"]))
Example #13
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)

        self.__server = kwargs["server"] if "server" in kwargs else "localhost"
        self.__port = kwargs["port"] if "port" in kwargs else 6789
        self.__user = kwargs["user"] if "user" in kwargs else None
        self.__password = kwargs["password"] if "password" in kwargs else None
        self.__catalog = kwargs["catalog"] if "catalog" in kwargs else None
        self.__repository = kwargs["repository"] if "repository" in kwargs else None

        if not self.__catalog or not self.__repository:
            raise Exception("Must specify the <catalog> and the <repository> arguments")

        self.__allegro_server = AllegroGraphServer(
            self.__server, port=self.__port, user=self.__user, password=self.__password
        )
        self.__allegro_catalog = self.__allegro_server.openCatalog(self.__catalog)
        self.__allegro_repository = self.__allegro_catalog.getRepository(self.__repository, Repository.ACCESS)
        self.__allegro_repository.initialize()

        self.__con = self.allegro_repository.getConnection()
Example #14
0
    def __init__(self, *args, **kwargs):
        RDFQueryReader.__init__(self, *args, **kwargs)
        self.__server = kwargs['server'] if 'server' in kwargs else 'localhost'
        self.__port = kwargs['port'] if 'port' in kwargs else 6789
        self.__root_path = kwargs[
            'root_path'] if 'root_path' in kwargs else '/sesame'
        self.__repository_path = kwargs[
            'repository_path'] if 'repository_path' in kwargs else ''
        self.__repository = kwargs[
            'repository'] if 'repository' in kwargs else None
        self.__use_allegro_extensions = kwargs[
            'use_allegro_extensions'] if 'use_allegro_extensions' in kwargs else False

        self.log.info(
            'INIT: %s, %s, %s, %s' %
            (self.server, self.port, self.root_path, self.repository_path))

        if not self.repository:
            raise Exception('No <repository> argument supplied.')

        if self.__use_allegro_extensions:
            opened = self.get_allegro().open_repository(self.repository)
            self.log.info('ALLEGRO repository opened: %s' % opened)