Hi,

for my PhD (learning graph patterns for human associations) i'm currently 
experimenting with some sub-graphs that i need to match via SPARQL against a 
Virtuoso endpoint. The sub-graph sizes range from 30 to 400K triples and are 
automatically transformed into SPARQL queries (basically via N3).

I'm interested in the practical limits for queries via:
- GET
- POST
- POST DIRECT
in terms of bytes, chars and triples.

I noticed that there seems to be a 10000 line limit for the SQL query that is 
the outcome of the SPARQL query. I'm not sure how SPARQL queries are translated 
into SQL lines though... is this triple wise (so max 10000 triples) or term 
wise (so max 10000/3 triples) or something else?

Experiments tell me that the GET method seems to have a ~10000 byte limit 
(after urlencoding).

Sadly, I couldn't really test POST DIRECT, as on our local 7.1.0 endpoint even 
queries with ~150 triples (~18000 chars) seem to crash the endpoint :(
If i remove long literals (which also happen to contain a lot of unicode 
chars), the query doesn't return within 2 hours.
If i switch to POST query, i only get a "Virtuoso 42000 Error SR483: Stack 
Overflow" error, but the server keeps running at least...
If for POST queries i keep the urlencoded query size < 10000 bytes, it seems to 
work.

Running the POST DIRECT query against http://dbpedia.org/sparql results in an 
"HTTP Error 409: Invalid path".
POST gives me "Virtuoso 37000 Error SP031: SPARQL: Internal error: The length 
of generated SQL text has exceeded 10000 lines of code"
If I run the < 10000 byte POST it seems to work again...

Can anyone confirm my findings / give me a recommendation for "how big a sane 
query can get"?

Cheers,
Jörn


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to