Open tomas-knap opened 10 years ago
Myslenka je takova, ze v dialogu se objevi na zalozce details novy checkbox + textbox, viz mockup:
https://grips.semantic-web.at/display/UNVI/DPU+-+SPARQL+Extractor
Tuhle zmenu v GUI prosim udelej sam at necekas na Marii, mela by to byt drobnost na 20min. Co je treba upravit na strane funckionality? Pokud bude vyse uvedeny checkbox odskrtnuty (defaultni moznost), tak se to chova jak ted. Pokud bude zasrktnuty, tak:
1) Pokud uzivatel nedefinoval SPARQL construct query, tak se misto defaultniho query CONSTRUCT {?s ?p ?o } WHERE {?s ?p ?o } pouzije serie dotazu: CONSTRUCT {?s ?p ?o } WHERE {?s ?p ?o } ORDER BY ?s ?p ?o LIMIT 50000 OFFSET 0, CONSTRUCT {?s ?p ?o } WHERE {?s ?p ?o } ORDER BY ?s ?p ?o LIMIT 50000 OFFSET 1, CONSTRUCT {?s ?p ?o } WHERE {?s ?p ?o } ORDER BY ?s ?p ?o LIMIT 50000 OFFSET 2, ..., az kolik je potreba offsetu. To cislo 50000 se bere z text boxu z konfigurace (viz https://grips.semantic-web.at/display/UNVI/DPU+-+SPARQL+Extractor)
2) Pokud uzivatel definoval SPARQL construct query, tak je potreba z toho user dotazu udelat serii dotazu podobnym zpusobem. Akorat je treba zkontrolovat, ze uzivatel nepouzil ve svem construct query ORDER BY, LIMIT nebo OFFSET na te urovni celeho dotazu (tedy nekde uvnitr v subdotazu mohl). Pokud ano, tak proste pri execution vypis chybu - cannot convert one query to set of queries because ORDER BY, .. is already used.
Otestuj na konci, ze se to chova jak se ocekavam - udelej unit test, otestuj gui. Otestuj i to, ze odskrtnuta tato option zpusobi, ze se to chova jako predtim
A jak řešit případy, když budu mít už limit jako součást dotazu - viz naše DBPEDIA, kde to máme omezené na 100 triplů. Jak to potom řešit. To přeci nebude fungovat - 2x LIMIT být nesmí.
Vzdyt rikam, ze kdyz uz tam limit je, tak zahlasis, ze to nejde rozdelit, protze uz tam jeden limit je
Jo, už to vidím :-) V tom případě v pohodě :-)
Jirko, jeste mi tam chybi hlaska v logu, ktera rika neco jako "extrahuju triples po xx triples". A davej tam v debug rezimu i to query (to plati i pro ten single query mode)
Pak muzes zavrit
Jirko, je tam problem, koukni na odcs-test, exec 12
http://odcs.xrg.cz:8080/odcleanstore-test/#!ExecutionList/page=1&owner.username=admin
Nastavim si, ze chci extrahovat 200 000 triples z dbpedie, zalozka details:
Nicmene v logu pak je:
Tedy vypada to, ze se extrahuje vzdy jen 50000. Nemas tam nekde napevno tech 50000 kdyz nenajdes v konfiguraku informace o nastaveni extrakce po castech?
Co je tohle ve SPARQL ExtractorConfig?!!
if (splitConstructSize == null) { splitConstructSize = 50000; }
To v praxi znamena zrejme, ze pro vsechny stare konfigurace ktere v db nemaji splitConstructSize, tak extraktor extrahuje jen 50000 triples!
Tak je mozne, ze za to muze omezeni dbpedie, zkus prosim
Jo, tohle je u té metody onDeserialize, kde se to nastaví na hodnotu 50 000 v případě, že to není součástí konfigurace. Jinak dbpedia má myslím svá jistá omezení - zkontroluju to a dám vědět
Tak problém bude v dbpedii, protože když jsem to pustil na velký graf u sebe s hodnotou 200 000, tak vše OK, když na dbpedii, tak jsem dostal, že
cz.cuni.mff.xrg.odcs.rdf.exceptions.InsertPartException: HTTP/1.1 500 SPARQL Request Failed. Caused by Virtuoso 22023 Error SR353: Sorted TOP clause specifies more then 100000 rows to sort. Only 40000 are allowed. Either decrease the offset and/or row count or use a scrollable cursor
Dobra, ale kdyz se to nastavi na tech 50 000, tak to stale jeste neni aktivni, ne? Tedy aby to rozdelovani bylo aktivni pro puvodni konfigurace, tak to musi uzivatel explicitne zaskrtnout, je to tak?
2014-02-21 14:19 GMT+01:00 Jiří Tomeš notifications@github.com:
Jo, tohle je u té metody onDeserialize, kde se to nastaví na hodnotu 50 000 v případě, že to není součástí konfigurace. Jinak dbpedia má myslím svá jistá omezení - zkontroluju to a dám vědět
Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1220#issuecomment-35729455 .
Je to přesně tak - aktivní to je až v okamžiku zaškrnutí - do té doby do nemá žádnou váhu
Needs to be adjusted a bit (discussion in Mannheim), inner subgraph which operates only on subjects..when subject is selected, all triples for this subject are fetched.
When SPARQL extracting data, it should be possible to define (optionally) possibility to get data not in one query, but via more queries using LIMIT/OFFSET pattern.
Motivation: Problem with bigger data if there is not a proper settings in virtuoso.ini of remote servers.