IRC log of sparql on 2010-11-02

Timestamps are in UTC.

13:53:34 [RRSAgent]
RRSAgent has joined #sparql
13:53:34 [RRSAgent]
logging to
13:53:36 [trackbot]
RRSAgent, make logs world
13:53:38 [trackbot]
Zakim, this will be 77277
13:53:38 [Zakim]
ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 7 minutes
13:53:39 [trackbot]
Meeting: SPARQL Working Group Teleconference
13:53:39 [trackbot]
Date: 02 November 2010
13:53:41 [LeeF]
zakim, this will be SPARQL
13:53:41 [Zakim]
ok, LeeF; I see SW_(SPARQL)10:00AM scheduled to start in 7 minutes
13:58:06 [Zakim]
SW_(SPARQL)10:00AM has now started
13:58:13 [Zakim]
+ +1.617.245.aaaa
13:58:20 [LeeF]
AlexPassant, AndyS, AxelPolleres, bglimm, ivan, NicoM -- the call starts in 5 minutes today :)
13:58:26 [LeeF]
zakim, aaaa is me
13:58:26 [Zakim]
+LeeF; got it
13:58:36 [LeeF]
Chair: Lee Feigenbaum
13:58:38 [Zakim]
13:58:45 [AndyS]
zakim, ??P17 is me
13:58:45 [Zakim]
+AndyS; got it
13:59:01 [ivan]
zakim, dial ivan-voip
13:59:01 [Zakim]
ok, ivan; the call is being made
13:59:02 [Zakim]
13:59:07 [LeeF]
Regrets: Carlos, Souri, Sandro
13:59:10 [Zakim]
13:59:23 [LeeF]
13:59:43 [Zakim]
13:59:59 [kasei]
hrm. cambridge zakim just dropped my call.
14:00:11 [LeeF]
zakim, please be nicer to kasei
14:00:11 [Zakim]
I don't understand 'please be nicer to kasei', LeeF
14:00:24 [bglimm]
Zakim, mute me
14:00:24 [Zakim]
bglimm should now be muted
14:00:27 [Zakim]
+ +1.310.729.aabb
14:00:37 [kasei]
Zakim, aabb is me
14:00:37 [Zakim]
+kasei; got it
14:00:38 [LeeF]
zakim, thanks
14:00:38 [Zakim]
you are very welcome, LeeF
14:01:35 [kasei]
Zakim, mute me
14:01:35 [Zakim]
kasei should now be muted
14:01:40 [Zakim]
14:02:42 [LeeF]
zakim, who's on the phone?
14:02:42 [Zakim]
On the phone I see LeeF, AndyS, Ivan, NicoM, bglimm (muted), kasei (muted), MattPerry
14:03:07 [LeeF]
topic: Admin
14:03:16 [LeeF]
PROPOSED: Approve minutes from
14:03:23 [Zakim]
+ +3539149aacc
14:03:39 [AlexPassant]
Zakim, +3539149aacc is me
14:03:39 [Zakim]
+AlexPassant; got it
14:04:15 [LeeF]
Scribenick: AlexPassant
14:04:22 [Zakim]
14:05:45 [Zakim]
14:06:17 [MattPerry]
MattPerry has joined #sparql
14:06:57 [pgearon]
Hi Lee
14:07:34 [LeeF]
zakim, IPcaller is SteveH
14:07:34 [Zakim]
+SteveH; got it
14:07:43 [LeeF]
zakim, who's on the phone?
14:07:43 [Zakim]
On the phone I see LeeF, AndyS, Ivan, NicoM, bglimm (muted), kasei (muted), MattPerry, AlexPassant, pgearon, SteveH
14:07:56 [SteveH]
SteveH has joined #sparql
14:08:11 [LeeF]
RESOLVED: Approve minutes at
14:08:25 [LeeF]
Next regular meeting: 2010-11-09 @ 15:00 UK / 10:00 EST (scribe: Chime Ogbuji)
14:08:30 [SteveH]
Zakim, who's on the phone?
14:08:30 [Zakim]
On the phone I see LeeF, AndyS, Ivan, NicoM, bglimm (muted), kasei (muted), MattPerry, AlexPassant, pgearon, SteveH
14:08:37 [AlexPassant]
LeeF: Any changes on last week minutes ?
14:08:39 [bglimm]
Next week is ISWC
14:08:50 [AlexPassant]
... some people at ISWC next week
14:08:54 [ivan]
I will be at iswc
14:08:55 [SteveH]
will be at ISWC
14:08:56 [bglimm]
I'll be there
14:08:58 [AlexPassant]
... but meeting back at normal time
14:09:00 [AlexPassant]
I'll be at ISWC
14:09:39 [AlexPassant]
... ISWC attendees will probably won't join
14:10:02 [AlexPassant]
... but regular call with people that can attend
14:11:04 [AlexPassant]
... agenda for next week: shortcuts for updates
14:11:17 [AlexPassant]
... one of the full remaining thing to formalise grammar in update / query
14:11:29 [AndyS]
yes - getting the grammar sorted would help me.
14:12:54 [NicoM]
LeeF, got a glass roof?
14:13:13 [AlexPassant]
topic: SELECT * behavior
14:14:01 [AlexPassant]
LeeF: need to agree on the select * behavior
14:14:20 [AlexPassant]
... in-scope variables (bound variables)
14:14:25 [AlexPassant]
... consensus around that
14:14:43 [AlexPassant]
... shouldn't select variables inside the subquery
14:14:58 [LeeF]
seems that SELECT * { { SELECT ?x { ... ?x ?y ... } } } just means ?x
14:15:19 [AndyS]
14:15:20 [pgearon]
+1 absolutely
14:15:22 [bglimm]
14:15:31 [NicoM]
14:15:31 [ivan]
14:16:15 [AlexPassant]
... what about variables that are hidden as being part of aggregate query but not in a GROUP BY
14:16:22 [LeeF]
SELECT * { ... ?x ?y ... } GROUP BY ?x
14:16:43 [SteveH]
that's the same as SELECT DISTINCT ?x { ... ?x ?y ... }
14:17:21 [LeeF]
1/ * stands for ?x and ?y, so this query is an error because you can't select ?y
14:17:42 [LeeF]
2/ * stands for only the variables that are legally select'able at this point - which means just ?x because of the aggregating
14:17:49 [SteveH]
... if you limit it to just "bindable" ones
14:18:28 [SteveH]
I think we're in a position to descide
14:18:32 [AlexPassant]
... is there any option besides these 2 ones ?
14:18:32 [AlexPassant]
... if not, can we decide between both ?
14:18:41 [SteveH]
14:19:21 [LeeF]
ack SteveH
14:19:31 [pgearon]
AndyS: not in my case, but it wouldn't be too hard to use that machinery instead
14:20:08 [Zakim]
14:20:30 [AndyS]
I find that it is useful
14:20:47 [SteveH]
14:20:49 [kasei]
I think it's quite useful
14:21:16 [SteveH]
what about the semantic conflict with COUNT(*)
14:21:19 [bglimm]
Are we discussing whther star is useful at all? Yes, but sound is quite bad
14:21:34 [kasei]
14:21:51 [SteveH]
in 4store it's all
14:21:56 [SteveH]
1) I think
14:21:58 [AlexPassant]
LeeF: any implementation doing * and aggregate ?
14:22:25 [kasei]
I think it would be rather odd to design the language such that using * is guaranteed to produce an error in lots of queries.
14:22:28 [AxelPolleres]
Zakim, who is on the phone?
14:22:28 [Zakim]
On the phone I see LeeF, AndyS, Ivan, NicoM, bglimm (muted), kasei (muted), MattPerry, AlexPassant, pgearon, SteveH, AxelPolleres
14:22:44 [SteveH]
kasei, well SQL works that way, it's never bothered me
14:23:30 [AlexPassant]
... strawpoll
14:23:35 [LeeF]
straw poll: 1 "all", 2 "legal", 0 "don't really care too much"
14:23:39 [bglimm]
14:23:39 [SteveH]
14:23:40 [kasei]
14:23:42 [ivan]
14:23:43 [AndyS]
14:23:44 [LeeF]
14:23:44 [MattPerry]
14:23:46 [pgearon]
14:23:46 [AlexPassant]
14:23:47 [NicoM]
14:23:48 [AxelPolleres]
2 (mildly)
14:24:48 [AlexPassant]
LeeF: which decision will be easier to change if we've done the wrong one
14:24:55 [AlexPassant]
... or if people implementing the other way
14:24:58 [OlivierCorby]
OlivierCorby has joined #sparql
14:25:01 [AlexPassant]
... any thoughts ?
14:25:03 [NicoM]
legal can be extended later :-9
14:25:16 [SteveH]
AndyS, I just meant the dramatically different meanings
14:25:34 [pgearon]
2 makes more sense to me if I were a user. 1 will be easier as an implementor. I can live with either
14:25:45 [AxelPolleres]
I would find different meaning of * in COUNT and SELECT weird... that's one point for 2
14:25:48 [AxelPolleres]
or no?
14:25:50 [AlexPassant]
... slight personal preference for 1
14:26:06 [SteveH]
AxelPolleres, no, because then COUNT(*) and SLEECT(*) would bare no resemblance
14:26:19 [SteveH]
er, SELECT *
14:26:35 [AndyS]
SteveH, are you proposing no SELECT * at all?
14:26:39 [AlexPassant]
... if no new suggestion, tempted to say that we'll do 1
14:26:44 [AlexPassant]
... but happy to hear additional suggestions
14:26:49 [SteveH]
AndyS, no, just that it would mean all in-scope variables
14:27:04 [SteveH]
no just the ones that can legally be used in scalar expressions
14:27:08 [SteveH]
14:27:46 [SteveH]
I can write SELECT COUNT(?a) WHERE { ... } GROUP BY ?b, so ?a is in scopew
14:28:58 [SteveH]
I can write SELECT (COUNT(?a) AS ?ca) WHERE { ... } GROUP BY ?b, so ?a is in scopew
14:29:02 [kasei]
this is where the "potentially bound" terminology might have been slightly clearer than "in scope"
14:29:06 [MattPerry]
what about: SELECT * WHERE { ... } GROUP BY (?a + ?b / 2)
14:29:15 [Zakim]
+ +34.92.38.aadd
14:29:41 [OlivierCorby]
Zakim, aadd is me
14:29:41 [Zakim]
+OlivierCorby; got it
14:29:52 [OlivierCorby]
A little bit late ...
14:30:11 [AxelPolleres]
matt, according to 1) that would be forbidden, yes?
14:30:23 [SteveH]
AxelPolleres, no, it would just be an error
14:30:30 [AxelPolleres]
according to 2) that would be like ASK?
14:30:57 [AlexPassant]
AndyS: problem of semantic equivalence of the 2 expressions
14:31:06 [AxelPolleres]
steveH, what's the diff between "an error" and "forbidden" for you here? ;-)
14:31:27 [AlexPassant]
LeeF: anyone change his mind ?
14:31:40 [SteveH]
would consider objecting
14:31:50 [bglimm]
I really prefer 1, but wouldn't formally object
14:31:51 [AlexPassant]
... anybody feels strongly about this and would raise objection ?
14:31:51 [kasei]
I'm going to be very unhappy, but probably won't object.
14:32:05 [SteveH]
I might be less upset if anyone had a real use?
14:32:20 [SteveH]
just seems like pointless syntax messing
14:32:25 [LeeF]
No consensus.
14:32:35 [kasei]
SteveH, same as SELECT * in 1.0 -- it's a really useful shortcut.
14:32:54 [SteveH]
kasei, but it's not useful in this case, it's just longhand for SELECT DISTINCT
14:32:59 [pgearon]
I'm happy with 1. As for using it to see what variables are in scope, then using 1 can give you errors to say what *isn't* in scope
14:33:46 [LeeF]
Given the lack of consensus, the chair decides towards option 1 based on potential objections and the chair's belief that option 1 leaves more options open in the future and leads to more interoperability if all implementations do not implement this the same way.
14:33:47 [kasei]
oh, I was under the impression that it could be combined with project exprs also...
14:34:01 [SteveH]
option 1 also gives us to possibility of MAX(*) etc. in the future
14:34:06 [AndyS]
I object.
14:34:43 [AlexPassant]
AndyS: is there any list of objections ?
14:34:48 [AlexPassant]
LeeF: no formal objections so far
14:35:43 [LeeF]
LeeF: Please mail any formal objections to the mailing list so that we have an official record and URI for them. Thanks.
14:35:52 [AxelPolleres]
We still have an open issue which is a bit related (that was the second place where we'd discussed about the definition of "inscope" or "potentially bound"... "The new variable is introduced using the keyword AS; it must not already be potentially bound."
14:36:10 [LeeF]
topic: BIND and FILTER order execution
14:36:15 [AlexPassant]
topic: BIND + FILTER
14:36:21 [LeeF]
14:36:33 [AxelPolleres]
q+ to mention still open issue on prev. topic
14:36:42 [LeeF]
ack AxelPolleres
14:36:42 [Zakim]
AxelPolleres, you wanted to mention still open issue on prev. topic
14:37:24 [AndyS]
What is the issue number?
14:38:43 [AxelPolleres]
no issue number assigned yet, left open in disussion of last time... will ask again in the end whether we should open an issue.
14:38:53 [LeeF]
14:38:53 [LeeF]
SELECT ?s ?p ?o ?z
14:38:53 [LeeF]
14:38:53 [LeeF]
?s ?p ?o .
14:38:53 [LeeF]
FILTER(?z = 3 )
14:38:53 [LeeF]
BIND(?o+1 AS ?z)
14:38:55 [LeeF]
14:40:01 [AlexPassant]
AndyS: implementaion acts differently
14:40:24 [AlexPassant]
... BIND does not have the semantics of LET
14:40:34 [AlexPassant]
... so it will not act as a filter
14:40:43 [AlexPassant]
... no error if you assign to an existing variable
14:41:51 [kasei]
LeeF, do you preserve the lexical ordering amongst the BINDs when you "shove" them to the end of the BGP?
14:42:54 [kasei]
14:43:39 [pgearon]
I have a mild preference for lexical ordering.
14:44:35 [LeeF]
ack kasei
14:44:37 [kasei]
Zakim, unmute me
14:44:37 [Zakim]
kasei was not muted, kasei
14:45:03 [LeeF]
kasei: lexical order is much more intuitive when reading a query
14:45:12 [LeeF]
kasei: but would filter floating mean that this is floating order?
14:45:58 [AxelPolleres]
{ ?s ?p ?o . FILTER(?z = 3 )
14:45:59 [AxelPolleres]
BIND(?o+1 AS ?z)
14:45:59 [AxelPolleres]
14:45:59 [AxelPolleres]
shouldn't that mean the same as
14:45:59 [AxelPolleres]
{ { ?s ?p ?o . FILTER(?z = 3 ) }
14:46:01 [AxelPolleres]
BIND(?o+1 AS ?z)
14:46:02 [AxelPolleres]
14:46:04 [AxelPolleres]
14:46:22 [AlexPassant]
LeeF: support from Axel, paul and greg that FILTER will fail in that case
14:46:22 [AxelPolleres]
at least that's how I understood the earlier resolution
14:46:27 [AlexPassant]
... any different POV ?
14:47:23 [LeeF]
Consensus around FILTERs and BINDs happening in lexical order a.k.a BIND is "just outside" a BGP, rather than at the end of it
14:47:46 [LeeF]
topic: + for fn:concat ?
14:47:58 [kasei]
Zakim, mute me
14:47:58 [Zakim]
kasei should now be muted
14:48:22 [SteveH]
STRONG preference for not overloading
14:48:40 [AlexPassant]
LeeF: question about the + operator
14:48:44 [AlexPassant]
... overloaed for string operation
14:48:50 [AlexPassant]
... most reponses where against that
14:49:04 [AlexPassant]
... but need for operator for string concatenation
14:49:24 [MattPerry]
How would that work for SELECT (?a + ?b) AS ?c WHERE ...
14:49:47 [AlexPassant]
AndyS: naturally wrote that in the query
14:49:51 [AndyS]
ARQ implements -- it's a legal extension to expression evaluation anyway.
14:50:18 [kasei]
I think "1" + "2" (plain literals) is going to produce unexpected results for people.
14:50:47 [LeeF]
14:51:16 [pgearon]
14:51:29 [AlexPassant]
LeeF: strawpoll for + in string concatenation
14:51:37 [LeeF]
straw poll: Using + operator for string concatenation
14:52:12 [LeeF]
straw poll: Using + operator for string concatenation (no implicit casting)
14:52:17 [SteveH]
14:52:20 [LeeF]
+1 in favor / 0 don't care / -1 against
14:52:23 [kasei]
14:52:26 [AndyS]
14:52:27 [LeeF]
14:52:27 [MattPerry]
14:52:29 [ivan]
14:52:30 [AxelPolleres]
14:52:31 [pgearon]
14:52:32 [NicoM]
14:52:34 [AlexPassant]
14:52:35 [OlivierCorby]
14:52:44 [AxelPolleres]
meaning 0 + "str" wouldn't work, but "0"+" str" would ?
14:52:52 [bglimm]
14:53:01 [LeeF]
5 / 3 / 3
14:54:20 [SteveH]
no xs:string?
14:54:37 [AxelPolleres]
... by example was meant just to clarify that no casting implicit
14:54:44 [AlexPassant]
LeeF: preference to include this
14:55:06 [AxelPolleres]
?x + "str" worries me a bit still
14:55:39 [AxelPolleres]
but str(?x) + str" would work "
14:55:56 [AndyS]
SteveH, Doing more than the spec requires (e.g. xs:string) is legal as an extension. Can add URI+string if you want :-)
14:56:10 [SteveH]
AndyS, erg!
14:56:12 [LeeF]
ACTION: AxelPolleres to come up with test cases around + for string concatenation
14:56:12 [trackbot]
Sorry, couldn't find user - AxelPolleres
14:56:21 [LeeF]
ACTION: Axel to come up with test cases around + for string concatenation
14:56:21 [trackbot]
Created ACTION-330 - Come up with test cases around + for string concatenation [on Axel Polleres - due 2010-11-09].
14:56:22 [AndyS]
Why? namesapce + local name!
14:56:29 [SteveH]
the difference between plain literals and xsd:strings is already odd enough
14:56:55 [pgearon]
14:57:00 [AndyS]
That is not a SPARQL matter - blame RDF-MT xsd1(a|b)
14:58:04 [MattPerry]
with comparison return type is always boolean
14:58:06 [NickH]
NickH has joined #sparql
14:58:22 [SteveH]
AndyS, sure, not SPARQL's fault, but we don't have to make it worse than it is
14:58:29 [MattPerry]
with overloaded + can be string or number
14:58:40 [LeeF]
"1" * 4
14:58:45 [LeeF]
"aaaa" * 4
14:58:55 [AndyS]
always the case of for ?x * ?y
14:59:46 [AxelPolleres]
q+ to ask about ... "The new variable is introduced using the keyword AS; it must not already be potentially bound." is still open, raise an ISSUE?
15:00:22 [Zakim]
15:00:45 [NickH]
Zakim, ??P21 is me
15:00:45 [Zakim]
+NickH; got it
15:00:49 [SteveH]
15:01:19 [LeeF]
SteveH: fn:concat casts its arguments to a string, so we'll need to be careful
15:01:52 [SteveH]
15:02:21 [LeeF]
ACTION: Andy to clarify the meaning of "potentially bound" vis a vis what can go on the right hand side of an AS in a SELECT list
15:02:21 [trackbot]
Created ACTION-331 - Clarify the meaning of "potentially bound" vis a vis what can go on the right hand side of an AS in a SELECT list [on Andy Seaborne - due 2010-11-09].
15:02:24 [AxelPolleres]
ack AxelPolleres
15:02:24 [Zakim]
AxelPolleres, you wanted to ask about ... "The new variable is introduced using the keyword AS; it must not
15:02:27 [Zakim]
... already be potentially bound." is still open, raise an ISSUE?
15:02:46 [AlexPassant]
topic: Aggregate over mixed datatypes
15:02:58 [AlexPassant]
... discuss next week, with status of test cases
15:03:30 [SteveH]
bye all
15:03:31 [ivan]
zakim, drop me
15:03:31 [Zakim]
Ivan is being disconnected
15:03:32 [AxelPolleres]
regrets for next week most likely... will probably collide with poster session at ISWC
15:03:33 [Zakim]
15:03:40 [bglimm]
15:03:42 [Zakim]
15:03:44 [Zakim]
15:03:45 [MattPerry]
15:03:49 [NickH]
ARGH to timezones!
15:03:53 [Zakim]
15:04:02 [AxelPolleres]
rrsagent, make records public
15:04:11 [Zakim]
15:04:25 [NicoM]
15:04:33 [Zakim]
15:04:40 [Zakim]
15:06:06 [Zakim]
15:10:49 [kasei]
15:10:51 [Zakim]
15:10:53 [Zakim]
15:10:53 [Zakim]
15:10:55 [Zakim]
15:11:01 [AxelPolleres]
AxelPolleres has left #sparql
15:11:01 [Zakim]
15:11:03 [Zakim]
SW_(SPARQL)10:00AM has ended
15:11:05 [Zakim]
Attendees were +1.617.245.aaaa, LeeF, AndyS, Ivan, NicoM, bglimm, +1.310.729.aabb, kasei, MattPerry, AlexPassant, pgearon, SteveH, AxelPolleres, +34.92.38.aadd, OlivierCorby, NickH
15:11:07 [AndyS]
kasei - just finished talking ... test case Q?
15:11:17 [kasei]
bind04 - I think you wrote it?
15:11:25 [kasei]
it has this:
15:11:26 [kasei]
{ BIND(?o+1 AS ?z) } UNION { BIND(?o+2 AS ?z) }
15:11:44 [kasei]
but has expected answers
15:11:48 [kasei]
and I can't sort out why
15:12:38 [AndyS]
15:12:44 [AndyS]
Bottom up we have:
15:13:17 [AndyS]
Eval BIND(?o+1 AS ?z) (one table row) and Eval BIND(?o+2 AS ?z) as another table row from the UNION.
15:13:41 [kasei]
right, but ?o isn't bound there is it? I expect zero results out of the union.
15:13:43 [AndyS]
Ah - OK - I see the Q now. Let me think a bit - looks wrong to me ...
15:14:29 [kasei]
I think it produces the expected answers if the triple pattern is distributed into the union.
15:15:05 [AndyS]
Yes - looks like a bug to me.
15:15:23 [kasei]
ok. good to know i'm not going crazy.
15:15:35 [AndyS]
One of the pain points of SPARQL is the need to duplicate patterns sometimes.
15:16:14 [kasei]
15:17:38 [AndyS]
LET ($$table := SELECT * { ?s ?p ?o } ) and have table variables.
15:26:06 [kasei]
15:26:08 [kasei]
oh god
15:26:33 [kasei]
AndyS, if you're still around. I know selecting * in addition to projexps has been talked about, but do you recall if a decision was ever made?
15:30:10 [AndyS]
Formal DECISION? Don't think so.
15:30:26 [AndyS]
I don't recall one anyway.
15:40:29 [kasei]
15:40:40 [AndyS]
What is your opinion?
15:40:50 [kasei]
it occurred to me just a bit too late that that was the big reason I wanted SELECT * to work with the GROUP BY stuff.
15:41:00 [kasei]
I think it's useful
15:42:28 [kasei]
feel like SELECT * (?qty*?price AS ?total) is a valid thing to want to do.
15:44:40 [AndyS]
I agree - and if you don't like a feature, don't use it.
15:45:35 [kasei]
if we do support it, i fell as if that undermines Steve's point that SELECT * with GROUP BY is just shorthand for DISTINCT
16:01:41 [OlivierCorby]
OlivierCorby has left #sparql
16:23:37 [SteveH]
longhand for DISTINCT, it's more characters
17:59:08 [SteveH]
SteveH has joined #sparql
18:41:50 [kasei]
SteveH, yes, fair enough.
19:08:28 [LeeF]
LeeF has joined #sparql
20:33:19 [LeeF]
trackbot, close ACTION-257
20:33:19 [trackbot]
ACTION-257 Craft a test case for SELECT * ... GROUP BY and solicit implementor, WG, and community feedback closed
20:33:26 [LeeF]
(I suppose today obviates that to a large extent...)
20:51:54 [LeeF]
trackbot, close ACTION-280
20:51:54 [trackbot]
ACTION-280 Mark subquery tests 5-10 approved closed
21:04:11 [SteveH]
SteveH has joined #sparql
21:07:01 [LeeF]
trackbot, close ACTION-317
21:07:01 [trackbot]
ACTION-317 Review entailment closed
21:08:20 [LeeF]
trackbot, close ACTION-308
21:08:20 [trackbot]
ACTION-308 Mark group_concat and projexp tests as approved closed
21:12:40 [AndyS]
AndyS has joined #sparql
21:16:15 [bglimm]
bglimm has joined #sparql
21:16:53 [LeeF]
trackbot, close ACTION-305
21:16:53 [trackbot]
ACTION-305 Start discussion on mailing list about set of functions to include in SPARQL closed