A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/RDFLib/rdflib/commit/e94c252 below:

`GROUP_CONCAT` handling of empty separator (issue) (#2474) · RDFLib/rdflib@e94c252 · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+30

-2

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+30

-2

lines changed Original file line number Diff line number Diff line change

@@ -245,11 +245,16 @@ def get_value(self) -> None:

245 245 246 246 247 247

class GroupConcat(Accumulator):

248 -

def __init__(self, aggregation):

248 +

value: List[Literal]

249 + 250 +

def __init__(self, aggregation: CompValue):

249 251

super(GroupConcat, self).__init__(aggregation)

250 252

# only GROUPCONCAT needs to have a list as accumulator

251 253

self.value = []

252 -

self.separator = aggregation.separator or " "

254 +

if aggregation.separator is None:

255 +

self.separator = " "

256 +

else:

257 +

self.separator = aggregation.separator

253 258 254 259

def update(self, row: FrozenBindings, aggregator: "Aggregator") -> None:

255 260

try:

Original file line number Diff line number Diff line change

@@ -11,6 +11,7 @@

11 11 12 12

import rdflib.plugins.sparql.algebra as algebra

13 13

import rdflib.plugins.sparql.parser as parser

14 +

from rdflib import Graph, Literal, URIRef

14 15

from rdflib.plugins.sparql.algebra import translateAlgebra

15 16 16 17

@@ -304,3 +305,25 @@ def test_roundtrip(test_spec: AlgebraTest, data_path: Path) -> None:

304 305

# TODO: Execute the raw query (query_text) and the reconstituted query

305 306

# (query_from_query_from_algebra) against a well defined graph and ensure

306 307

# they yield the same result.

308 + 309 + 310 +

def test_sparql_group_concat():

311 +

"""Tests if GROUP_CONCAT correctly uses the separator keyword"""

312 +

query = """

313 +

PREFIX : <http://example.org/>

314 + 315 +

SELECT ?subject (GROUP_CONCAT(?object; separator="")

316 +

AS ?concatenatedObjects)

317 +

WHERE {

318 +

VALUES (?subject ?object) {

319 +

(:pred "a")

320 +

(:pred "b")

321 +

(:pred "c")

322 +

}

323 +

}

324 +

GROUP BY ?subject

325 +

"""

326 + 327 +

g = Graph()

328 +

q = dict(g.query(query))

329 +

assert q[URIRef("http://example.org/pred")] == Literal("abc")

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4