Hi Andrew,
under certain conditions you could solve this with a recursive SPIN function.
Assuming you have a way of accessing the sub-strings with an index, then you
could define a function that takes the index and the partial solution as
arguments, and then recursively calls itself (with index + 1) until it has
reached the end of the list, accumulating the results with fn:concat in each
recursion.
So roughly:
SPIN function my:strConcat
Arguments: ?list, ?index, ?base
body:
SELECT ?result
WHERE {
?list my:member ( ?element ?index ) .
LET (?c := fn:concat(?base, ?element)) .
LET (?result := my:strConcat(?list, ?index + 1, ?c)
}
This requires though that the results are available in some triple form so that
you can walk the results (here: using a magic property my:member). [This would
work with magic SPIN properties if SPARQL would allow to place variables in the
OFFSET clause, but unfortunately it doesn't].
Otherwise, I also see SPARQLMotion as the only option, because it provides
iteration modules and is - unlike SPARQL - stateful.
Regards,
Holger
On Jan 12, 2010, at 11:25 AM, AndrewB wrote:
> if i have a result set
>
> a,bz
> a,ha
>
> Can I concatenate it into
>
> a,bzha ?
>
> Maybe using spin?
>
> Thanks!
>
> -Andrew
> --
> You received this message because you are subscribed to the Google Groups
> "TopBraid Composer Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/topbraid-composer-users?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"TopBraid Composer Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/topbraid-composer-users?hl=en.