Closed tomas-knap closed 10 years ago
Problém nebude v mixování implementací, ale v tom, že autor, který psal DPU XSLT někde používá sám ve svém kódu lokální repozitář (např. pro nějaké mezivýpočty) a nevolá metodu (tuším getRepository), která sedí výše ve frontendu/backendu, která vrací repozitář na základě configurace - tedy Virtuoso nebo LocalRDF.
Nevím, kdo je autorem, ale v této věci bych se určitě obrátil na něj.
Jirko, xslt jsem psal ja a nevim o tom, ze bych nekde pouzival natvrdo native repository. Resp. toho by ani autor DPU nemel mit moznost docilit, ne?
Koukni prosim na XSLT kod ( je v repozitari https://github.com/mff-uk/DPUs), koukni na hlavni tridu a projdi prosim volani RDF data unit metod, je jich tam par. Jestli neuvidis neco podezreleho. Tech volani je tam par
Podívám se na to, jen co se vrátím z práce ke svému počítači :-)
Tak důvod odhalen
Tím je to objasněné :-)
Jirko, a jak to tam tedy funguje, inicializuje se native store a pak se jen otestuje dotaz? Neda se to udela bez inicializace?
2014-03-03 17:09 GMT+01:00 Jiří Tomeš notifications@github.com:
Tak důvod odhalen
- metoda OrderTupleQueryResultImpl executeOrderSelectQueryAsTuples totiž testuje, zda je daný dotaz validní - volá metodu isValid() - a ta ve své implementaci používá LocalRDF, která slouží jako pomocná repozitory pro tuto validaci.
Tím je to objasněné :-)
Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1281#issuecomment-36525305 .
Resp. nedala by se na toto pouzit nejaka jedna native rep pripravena pro celou jednu instanci ODCS? Aneb je trochu neefektivni pokazde delat novou native store jen proto, aby se zkontroloval query
Bohužel validace vyžaduje vytvoření dočasného repozitáře, ten se po provedení validace opět smaže. Takže na disku nic nezůstane. Vytvoření a mazání je rychlé a nestojí prakticky nic.
Držet jednu instanci bychom asi mohli, ale nic bychom neušetřili.
Naopak by přibyly zbytečné problémy se jak správně sdílet repozitář ve chvíli, když mi např. 2 různá vlákna volají validaci, protože validace na zamknutém repozitáři způsobuje exception. Byl by s tím celkem problém to správně odladit podobně jako to bylo u sdílené connection.
Já bych se do toho asi nepouštěl, nic navíc tím nezískáme ani neušetříme, spíš se může stát, že to, co teď funguje správně, tak s tím budou problémy.
Co myslíš ?
Takhle, urcite by stalo za to delat max jeden repozitar pro execution jedne DPU instance. Ale nechme to pro ted.
2014-03-03 23:31 GMT+01:00 Jiří Tomeš notifications@github.com:
Bohužel validace vyžaduje vytvoření dočasného repozitáře, ten se po provedení validace opět smaže. Takže na disku nic nezůstane. Vytvoření a mazání je rychlé a nestojí prakticky nic.
Držet jednu instanci bychom asi mohli, ale nic bychom neušetřili.
Naopak by přibyly zbytečné problémy se jak správně sdílet repozitář ve chvíli, když mi např. 2 různá vlákna volají validaci, protože validace na zamknutém repozitáři způsobuje exception. Byl by s tím celkem problém to správně odladit podobně jako to bylo u sdílené connection.
Já bych se do toho asi nepouštěl, nic navíc tím nezískáme ani neušetříme, spíš se může stát, že to, co teď funguje správně, tak s tím budou problémy.
Co myslíš ?
Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1281#issuecomment-36569038 .
Summary: For validating queries, local rdf store (native rep) is used
On ODCS, I am running on top of virtuoso intermediate store (NO native rep). But when looking at execution 935, in browse/query tab, there is virtuoso graph and I can browse the data on virtuoso. So it is fine so far. But when looking to the log, I got:
Based on that, it seems that native store is initialized and used as well (together with Virtuoso), which is wrong. Can you please explain, @tomesj ?