1)
Ahojte, tu je záznam z našej prezentácie. Nie je tam však dobre vidno ako komunikujem s agentom, nižšie dávam aspoň screenshoty z jeho použitia.
Mali sme aj stánok, a tam to šlo parádne. Agenta sme mali napojeného na SPARQL endpoint európskeho dátového portálu, a išlo to skvele a rýchlo, dopytovanie v prirodzenom jazyku bolo live použiteľné.
Ostatné prezentácie z Endorse sú dostupné tu.
https://www.youtube.com/hashtag/endorse2025
Určite sa tam pozrite, ak Vás zaujíma čo sa deje v EÚ v oblasti informátizácie interoperability a AI, je to skvelý zdroj.
2)
Aby som na začiatok bol trochu všeobecný, Knowledge Graph RAG,patrí do tzv. NeuroSymbolicAI (formalna logika+deep learning), v tomto prípade RDF+LLM.
V tomto prípade je formálna logika implementovaná RDF Znalostným grafom
a LLM zas slúži na správne generovanie SPARQL dotazov pomocou znalostného grafu. Pretože samozrejme, nie je problém nejaký ten dotaz vygenerovať, ale aby bol správny. V tomto prípade teda je vždy možné spýtať sa agenta, prečo si mi vrátil dané dáta.
Agent po zadaní vstupu vyhodnocuje, či dokáže vytvoriť správny SPARQL dotaz. Ak nie, tak sa dotazuje na predpripravenú vektorovú databázu s pojmami, a pomocou pravdepodobnosti vracia URI pre dané entity. Po ich nájdení daný dotaz vykoná.
3) Ukážka komunikácie s agentom
3.1)
Začínam s dotazom:
give me 10 datasets
Ontológia DCAT je kontextovou informáciou pre LLM, čiže vytvorenie SPARQL dotazu je jednoduché. Agent má dostatok informácií na vytvorenie správneho dotazu, takže vytvorený dotaz pošle na API (SPARQL Enpoint data.europe.eu) a zobrazí výsledky.
3.2)
Pokračujem s dotazom:
give me 10 datasets with distributions in CSV format
V tomto prípade agent vyhodnotí, že nie je schopný vytvoriť dostatočne presný SPARQL dopyt, hoc všeobecný ChatGPT by určite nejaký vedel vytvoriť. Preto sa pokúsi neznámu časť dotazu matchnúť vo vektorovej databáze, či tam náhodou nie je nejaký očakávaný objekt, match, ktorý mu vráti URI. V tomto prípade URI CSV. Čím sa nájde URI formátu CSV:
http://publications.europa.eu/resource/authority/file-type/CSV
Na základe čoho agent už vie urobiť správny dotaz na databázu:
SELECT DISTINCT ?dataset ?distribution
WHERE {
?dataset a dcat:Dataset ;
dcat:distribution ?distribution .
?distribution a dcat:Distribution ;
dct:format <http://publications.europa.eu/resource/authority/file-type/CSV> .
}
A agent vypíše správne výsledky ,tj. datasety len s distribúciami v CSV.
schválne, vyskúšajte sa spýtať ChatGPT ,nech vám vytvorí SPARQL dotaz na vrátenie datasetov vo formáte CSV. Nebude takýto presný, interoperabilné URI používať nebude.
3.3)
Alebo chcem nejaké HVD datasety, tak zadám:
give me any HVD datasets
A vtedy podľa ontologického modelu agent vie, že má hľadať také datasety, ktoré maju aplikovanú legislatívu ODD (Open Data Directive), a skonštruuje správny dotaz:
a vráti správne výsledky. A takto by som mohol pokračovať veľmi dlho a dostatočne presne. Aj s časovými a územnými podmiennkami, resp. inými vlastnosťami DCAT ontológie.
4)
Na záver len dodám, že tento prístup sa dá skvele robiť nad hocijakými štruktúrovanými aj neštruktúrovanými dátami, pričom dáta môžu byť aj privátne, pretože do LLM nejdú. LLM len pomocou znalostí vytvára správne dotazy na dáta.





