query language
Főnév
query language (tsz. query languages)
A query language – magyarul lekérdezőnyelv – egy speciális programozási vagy deklaratív nyelv, amelyet adatok kinyerésére, módosítására, manipulálására és elemzésére használnak különféle adattároló rendszerekből, például adatbázisokból, XML-fájlokból vagy információs rendszerekből.
📘 1. Mi az a lekérdezőnyelv?
Egy lekérdezőnyelv lehetővé teszi, hogy a felhasználó strukturált módon kérdezzen le adatokat valamilyen adattárolóból, jellemzően:
- relációs adatbázisból (táblák),
- hierarchikus vagy dokumentum-alapú adatokból (pl. XML, JSON),
- szemantikus hálózatból (pl. RDF, ontológiák).
🔠 2. Típusai
2.1. Relációs lekérdezőnyelvek
- Ezek relációs adatbázisokra épülnek (pl. táblák).
- Leghíresebb: SQL (Structured Query Language).
2.2. Hierarchikus/dokumentum lekérdezőnyelvek
- XML, JSON, HTML struktúrákhoz.
- Példák: XPath, XQuery, JSONPath.
2.3. Szemantikus web nyelvek
- RDF, OWL, SPARQL → grafalapú adatmodellhez.
2.4. Informális, természetes nyelvi alapú lekérdezők
- Felhasználóbarát keresők, AI-nyelvi interfészek (pl. Google Search, ChatGPT API-lekérdezések)
🧱 3. Strukturált lekérdezőnyelv: SQL
A Structured Query Language (SQL) a relációs adatbázisok szabványos lekérdezőnyelve. Segítségével lekérdezhetjük, beszúrhatjuk, módosíthatjuk és törölhetjük az adatokat.
Alap SQL példa:
SELECT nev, kor FROM dolgozok WHERE kor > 30;
Ez a lekérdezés minden olyan dolgozok
táblaelemet visszaad, ahol a kor > 30
.
SQL fő parancstípusai:
Típus | Parancsok |
---|---|
Lekérdezés | SELECT
|
Módosítás | INSERT , UPDATE , DELETE
|
Struktúra | CREATE , DROP , ALTER
|
Jogosultság | GRANT , REVOKE
|
🧭 4. Deklaratív vs procedurális lekérdezők
Típus | Jellemzők |
---|---|
Deklaratív | Mit akarunk csinálni (pl. SQL, SPARQL) |
Procedurális | Hogyan hajtjuk végre a lekérdezést (pl. LINQ, PL/SQL) |
📦 5. XML és JSON lekérdezőnyelvek
5.1. XPath
- Használható XML-dokumentumok elemzésére.
- Példa:
//konyv[cim="Háború és béke"]/szerzo
5.2. XQuery
- Az XPath-nál erőteljesebb, támogatja ciklusokat, feltételeket.
- Adatok transzformálására is alkalmas.
5.3. JSONPath
- JSON-objektumok lekérdezésére alkalmas.
$.konyvek[?(@.ar < 1000)].cim
🌐 6. SPARQL – graf-alapú lekérdezés
A SPARQL a RDF-adatmodellek lekérdezőnyelve, amelyet gyakran használnak a szemantikus webben és ontológiákban.
Példa:
SELECT ?nev WHERE {
?szemely rdf:type :Ember .
?szemely :nev ?nev .
}
🧰 7. Lekérdezőnyelvek a programozásban
7.1. LINQ (Language-Integrated Query – C#)
- Beépített lekérdezés-írási lehetőség gyűjteményekhez.
var eredmeny = from p in dolgozok where p.kor > 30 select p.nev;
7.2. MongoDB lekérdezések (NoSQL dokumentumok)
db.dolgozok.find({ kor: { $gt: 30 } })
⚙️ 8. Lekérdezőnyelv vs keresőmotor
Fogalom | Lekérdezőnyelv | Keresőmotor (pl. Google) |
---|---|---|
Alapja | Strukturált adatmodell | Teljes szövegindex |
Használata | Táblák, dokumentumok, objektumok | Weboldalak, szövegek |
Pontosság | Precíz, formális | Homályosabb, szabadszavas |
⚖️ 9. Előnyök és hátrányok
✅ Előnyök:
- Pontos, strukturált adatlekérdezés
- Hatékony, ha jól indexelt az adatbázis
- Automatizálható, scriptelhető
❌ Hátrányok:
- Tanulási görbe: formális szintaxis
- Törékeny, ha az adatszerkezet változik
- Gyakran nem elég rugalmas a “homályos” kérdésekhez
🌍 10. Modern alkalmazások
- Adatvizualizációs eszközök: Power BI, Tableau → SQL backend
- Big Data: HiveQL, Presto → SQL-szerű nyelvek Hadoophoz
- AI + NLP: természetes nyelv → lekérdezés (NLQ, ChatGPT→SQL)
- GraphQL: REST alternatíva, csak a kért adatmezőket kérdezi le
🔄 11. Interaktív lekérdezők
Natural Language to SQL:
- AI eszközök automatikusan generálnak lekérdezéseket természetes nyelvből
- Példa: “List all employees older than 30” → SQL
🧠 12. Összegzés
A lekérdezőnyelvek a modern informatikai rendszerek alappillérei. Segítségükkel az adatok nemcsak tárolhatók, hanem értelmezhetővé és hasznosíthatóvá is válnak. Legyen szó relációs adatbázisról, XML-ről, NoSQL-ről vagy szemantikus webes adatmodellekről, a megfelelő query language kiválasztása és használata kulcsfontosságú az adatvezérelt döntéshozatalhoz.
- query language - Szótár.net (en-hu)
- query language - Sztaki (en-hu)
- query language - Merriam–Webster
- query language - Cambridge
- query language - WordNet
- query language - Яндекс (en-ru)
- query language - Google (en-hu)
- query language - Wikidata
- query language - Wikipédia (angol)