def __remove(self, s = None, p = None, o = None, context = None): self.log.debug('REM : %s, %s, %s, %s' % (s, p, o, context)) query = delete() try: #clear if s == None and p == None and o == None and context: query = clear().graph(context) else: if context: query = delete().from_(context) query.template(("?s", "?p", "?o")) if context: where_group = NamedGroup(context) else: where_group = Group() where_group.append(("?s", "?p", "?o")) filter = Filter("(" + self.__build_filter(s, p, o) + ")") where_group.append(filter) query.where(where_group) query_str = unicode(query) self.log.debug(query_str) self.__sparql_wrapper.setQuery(query_str) self.__sparql_wrapper.query().convert() return True except EndPointNotFound, notfound: self.log.exception("SPARQL endpoint not found")
def _remove_from_endpoint(self, s=None, p=None, o=None, context=None): debug('REM : %s, %s, %s, %s' % (s, p, o, context)) query = delete() try: if s is None and p is None and o is None and context: query = clear().graph(context) else: if context: query = delete().from_(context) query.template(("?s", "?p", "?o")) if context: where_group = NamedGroup(context) else: where_group = Group() where_group.append(("?s", "?p", "?o")) filter = Filter("({0})".format(self.__build_filter(s, p, o))) where_group.append(filter) query.where(where_group) query_str = unicode(query) debug(query_str) self._sparql_wrapper.setQuery(query_str) self._sparql_wrapper.query().convert() return True except EndPointNotFound, _: error("SPARQL endpoint not found")
def _remove_from_endpoint(self, s=None, p=None, o=None, context=None): debug('REM : %s, %s, %s, %s' % (s, p, o, context)) #context = URIRef("#heeey") # print(NamedGroup(context)) # print(Group()) query = delete() try: if s is None and p is None and o is None and context: query = clear().graph(context) else: if context: query = delete().from_(context) query.template(("?s", "?p", "?o")) if context: where_group = NamedGroup(context) else: where_group = Group() where_group.append(("?s", "?p", "?o")) filter_terms = self.__build_filter(s, p, o) if len(filter_terms) > 0: filter = Filter("({0})".format()) where_group.append(filter) query.where(*where_group) query_str = str(query) debug(query_str) self._sparql_wrapper.setQuery(query_str) self._sparql_wrapper.query().convert() return True except EndPointNotFound as _: error("SPARQL endpoint not found") except QueryBadFormed as _: error("Bad-formed SPARQL query") except SPARQLWrapperException as _: error("SPARQLWrapper exception") return None
def _prepare_delete_many_query(resources, context, inverse=False): query = delete() if context: query.from_(context) query.template(("?s", "?p", "?o")) if context: where_clause = NamedGroup(context) else: where_clause = Group() subjects = [resource.subject for resource in resources] filter = " OR ".join( [u"?s = <{0:s}>".format(subject) for subject in subjects]) filter = Filter("(%s)" % filter) if inverse: filter2 = " OR ".join( [u"?o = <{0:s}>".format(subject) for subject in subjects]) filter2 = Filter("(%s)" % filter2) where1 = Group([("?s", "?p", "?o"), filter]) where2 = Group([("?s", "?p", "?o"), filter2]) where_clause.append(Union([where1, where2])) else: where_clause.append(("?s", "?p", "?o")) where_clause.append(filter) query.where(where_clause) return query
def __prepare_delete_many_query(self, resources, context, inverse = False): query = delete() if context: query.from_(context) query.template(("?s", "?p", "?o")) if context: where_clause = NamedGroup(context) else: where_clause = Group() subjects = [resource.subject for resource in resources] filter = " OR ".join(["?s = <%s>" % subject for subject in subjects]) filter = Filter("(%s)" % filter) if inverse: filter2 = " OR ".join(["?o = <%s>" % subject for subject in subjects]) filter2 = Filter("(%s)" % filter2) where1 = Group([("?s", "?p", "?o"), filter]) where2 = Group([("?s", "?p", "?o"), filter2]) where_clause.append(Union([where1, where2])) else: where_clause.append(("?s", "?p", "?o")) where_clause.append(filter) query.where(where_clause) return query