Hello Hughes, I would say that this can be "any" number, but for the application we have I would expect it to be in the order of tens of thousands or even more...
Our problem is the following: we observed that certain of our SPARQL queries have subqueries (that return IDs) that run rather slow (because of a slow bif:contains full-text-search). We therefore 'migrated'/'copied'/'flattened' some of our data to another technology/database/store that allows for faster textual search. Querying this database results in a list of IDs, and these IDs are then 'injected' in a SPARQL query (we simply create a SPARQL query string with all these IDs in the FILTER command). Apparently, we are limited to filtering 4094 IDs and I don't see a way to overcome this if the subquery returns more. Could there be a way to work-around this limitation at SPARQL level? I also don't know if the way we tackle the problem right now is the best approach. If anyone has experience with this kind of setting, feel free to share us your thoughts! Kind regards, Bart On 2014-07-11 04:33, Hugh Williams wrote: > Hi Cart, > > I have been able to recreate this and reported to development for > comment. How many such Id's are you seeking to "inject" in the FILTER > statement ? > > Best Regards > Hugh Williams > > On 10 Jul 2014, at 15:01, Bart Vandewoestyne > <bart.vandewoest...@telenet.be <mailto:bart.vandewoest...@telenet.be>> > wrote: > >> Hello list, >> >> I have a SPARQL query that gets constructed as follows: first, using >> some other technology, i obtain a comma-separated list of id's and >> 'inject' them in the FILTER statement of a SPARQL query, something like >> this: >> >> FILTER (?id in (<http://someid_1>, >> <http://someid_2>, >> <http://someid_3>, >> ... >> <http://someid_N>)) >> >> where N can become 'large' (whatever that may be). >> >> After performing a small test, I noticed that 4094 is the maximum number >> of id's that I can insert in my FILTER statement. When trying with 4095 >> id's, I get: >> >> Virtuoso 37000 Error SP030: SPARQL compiler, line 4102: Too many >> arguments of a standard built-in function in operator() at ')' before ')' >> >> Is there a way to overcome this problem? Or are there other >> ways/methods of 'injecting' strings/lists/data like this in SPARQL >> queries? >> >> Kind regards, >> Bart ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck® Code Sight™ - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users