Ugrás a tartalomhoz

query language

A Wikiszótárból, a nyitott szótárból

Főnév

query language (tsz. query languages)

  1. (informatika) lekérdezőnyelv

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.