-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
26 changed files
with
323 additions
and
176,169 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
# .DS_Store | ||
.DS_Store | ||
|
||
# VS Code | ||
.vscode/* | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Güncel Türkçe Sözlük, 2007 yılı baskısı | ||
Proje içerisinde 73.707 adet madde bulunmaktadır. | ||
|
||
Sözlüğü iki farklı türde indirebilirsiniz. | ||
1. RAR dosyası olarak: [TDK-2007](TDK-2007.rar) | ||
2. SQLite veritabanı olarak: [backup-2007.sqlite3.db](backup-2007.sqlite3.db) | ||
|
||
## RAR | ||
İndirdiğiniz RAR dosyasını açtıktan sonra içinden çıkan "Büyük Türkçe Sözlük.exe" dosyası yardımıyla Windows üzerinde sözlüğü görüntüleyebilir ya da "Sözlük.mdb" dosyasını herhangi bir Microsoft Access Database görüntüleyici ile açabilirsiniz. | ||
|
||
## SQLite | ||
İndirdiğiniz dosyayı herhangi bir SQLite görüntüleyici ile görüntüleyebilirsiniz ve kullanabilirsiniz. Veritabanının şeması aşağıdaki gibidir. | ||
 | ||
|
||
# Güncel Türkçe Sözlük | ||
Türk Dil Kurumunun 1945'ten beri yayımlanan Türkçe Sözlük'ünün 2007 yılında yapılan baskısının sürümüdür. | ||
http://www.sozluk.gov.tr/ |
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,212 @@ | ||
""" MongoDB icerisindeki kayitlari SQLite veritabanina aktarir """ | ||
from pymongo import MongoClient | ||
import sqlite3 | ||
|
||
CLIENT = MongoClient() | ||
MONGO_TOPICS = CLIENT.gts.maddeler | ||
|
||
|
||
def create_connection(db_file): | ||
"""sqlite connectionu olusturur""" | ||
try: | ||
conn = sqlite3.connect(db_file) | ||
return conn | ||
except Exception as e: | ||
print(e) | ||
|
||
return None | ||
|
||
|
||
def insert_anlam(conn, anlam): | ||
"""anlami veritabanina ekler""" | ||
sql = """INSERT INTO anlam(anlam_id,madde_id,anlam_sira,fiil,tipkes,anlam,gos) | ||
VALUES (?,?,?,?,?,?,?)""" | ||
arr = ( | ||
anlam["anlam_id"], | ||
anlam["madde_id"], | ||
anlam["anlam_sira"], | ||
anlam["fiil"], | ||
anlam["tipkes"], | ||
anlam["anlam"], | ||
anlam["gos"], | ||
) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
if "ozelliklerListe" in anlam: | ||
insert_ozellikler(conn, anlam["anlam_id"], anlam["ozelliklerListe"]) | ||
|
||
if "orneklerListe" in anlam: | ||
insert_ornekler(conn, anlam["orneklerListe"]) | ||
|
||
return cur.lastrowid | ||
|
||
|
||
def insert_anlamlar(conn, madde): | ||
"""anlamlari veritabanina ekler""" | ||
if "anlamlarListe" not in madde: | ||
return None | ||
|
||
anlamlar = madde["anlamlarListe"] | ||
for anlam in anlamlar: | ||
insert_anlam(conn, anlam) | ||
|
||
|
||
def insert_anlam_ozellik(conn, anlam_id, ozellik_id): | ||
"""anlam_ozellik ilisiklisini veritanina ekler""" | ||
sql = """INSERT INTO anlam_ozellik(anlam_id, ozellik_id) | ||
VALUES (?,?)""" | ||
arr = (anlam_id, ozellik_id) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_atasozu(conn, atasozu): | ||
"""atasozunu veritabanina ekler""" | ||
sql = """INSERT OR REPLACE INTO atasozu(madde_id,madde) | ||
VALUES (?,?)""" | ||
arr = (atasozu["madde_id"], atasozu["madde"]) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_atasozleri(conn, madde): | ||
"""atasozlerini veritabanina ekler""" | ||
if "atasozu" not in madde: | ||
return None | ||
|
||
atasozleri = madde["atasozu"] | ||
for atasozu in atasozleri: | ||
insert_atasozu(conn, atasozu) | ||
insert_madde_atasozu(conn, madde["madde_id"], atasozu["madde_id"]) | ||
|
||
|
||
def insert_madde(conn, madde): | ||
"""maddeyi veritabanina ekler""" | ||
sql = """INSERT INTO madde(madde_id,kac,kelime_no,cesit,anlam_gor,on_taki,madde,cesit_say,anlam_say,taki,cogul_mu,ozel_mi,lisan_kodu,lisan,telaffuz,birlesikler,font,madde_duz,gosterim_tarihi) | ||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""" | ||
arr = ( | ||
madde.get("madde_id"), | ||
madde.get("kac"), | ||
madde.get("kelime_no"), | ||
madde.get("cesit"), | ||
madde.get("anlam_gor"), | ||
madde.get("on_taki"), | ||
madde.get("madde"), | ||
madde.get("cesit_say"), | ||
madde.get("anlam_say"), | ||
madde.get("taki"), | ||
madde.get("cogul_mu"), | ||
madde.get("ozel_mi"), | ||
madde.get("lisan_kodu"), | ||
madde.get("lisan"), | ||
madde.get("telaffuz"), | ||
madde.get("birlesikler"), | ||
madde.get("font"), | ||
madde.get("madde_duz"), | ||
madde.get("gosterim_tarihi"), | ||
) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
return cur.lastrowid | ||
|
||
|
||
def insert_madde_atasozu(conn, madde_id, atasozu_madde_id): | ||
"""madde_atasozu iliskisini kurar""" | ||
sql = """INSERT INTO madde_atasozu(madde_id, atasozu_madde_id) | ||
VALUES (?,?)""" | ||
arr = (madde_id, atasozu_madde_id) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_ornek(conn, ornek): | ||
"""ornegi veritabanina ekler""" | ||
if "yazar" in ornek: | ||
insert_yazarlar(conn, ornek["yazar"]) | ||
|
||
sql = """INSERT INTO ornek(ornek_id,anlam_id,ornek_sira,ornek,kac,yazar_id) | ||
VALUES (?,?,?,?,?,?)""" | ||
|
||
yazar_id = None | ||
if ornek["yazar_id"] and ornek["yazar_id"] != "0": | ||
yazar_id = ornek["yazar_id"] | ||
|
||
arr = ( | ||
ornek["ornek_id"], | ||
ornek["anlam_id"], | ||
ornek["ornek_sira"], | ||
ornek["ornek"], | ||
ornek["kac"], | ||
yazar_id, | ||
) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_ornekler(conn, ornekler): | ||
"""ornekleri veritabanina ekler""" | ||
if not ornekler: | ||
return None | ||
|
||
for ornek in ornekler: | ||
insert_ornek(conn, ornek) | ||
|
||
|
||
def insert_ozellik(conn, ozellik): | ||
"""ozelligi veritabanina ekler""" | ||
sql = """INSERT OR REPLACE INTO ozellik(ozellik_id,tur,tam_adi,kisa_adi,ekno) | ||
VALUES (?,?,?,?,?)""" | ||
arr = ( | ||
ozellik["ozellik_id"], | ||
ozellik["tur"], | ||
ozellik["tam_adi"], | ||
ozellik["kisa_adi"], | ||
ozellik["ekno"], | ||
) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_ozellikler(conn, anlam_id, ozellikler): | ||
"""ozellikleri veritabanina ekler""" | ||
if not ozellikler: | ||
return None | ||
|
||
for ozellik in ozellikler: | ||
insert_ozellik(conn, ozellik) | ||
insert_anlam_ozellik(conn, anlam_id, ozellik["ozellik_id"]) | ||
|
||
|
||
def insert_yazar(conn, yazar): | ||
"""yazari veritabanina ekler""" | ||
sql = """INSERT OR REPLACE INTO yazar(yazar_id,tam_adi,kisa_adi,ekno) | ||
VALUES (?,?,?,?)""" | ||
arr = (yazar["yazar_id"], yazar["tam_adi"], yazar["kisa_adi"], yazar["ekno"]) | ||
cur = conn.cursor() | ||
cur.execute(sql, arr) | ||
|
||
|
||
def insert_yazarlar(conn, yazarlar): | ||
"""yazarlari veritabanina ekler""" | ||
if not yazarlar: | ||
return None | ||
|
||
for yazar in yazarlar: | ||
insert_yazar(conn, yazar) | ||
|
||
|
||
def execute(): | ||
"""ana method""" | ||
for madde in MONGO_TOPICS.find(): | ||
conn = create_connection("guncel-turkce-sozluk.db") | ||
|
||
insert_madde(conn, madde) | ||
insert_anlamlar(conn, madde) | ||
insert_atasozleri(conn, madde) | ||
|
||
conn.commit() | ||
|
||
|
||
if __name__ == "__main__": | ||
execute() |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
BEGIN TRANSACTION; | ||
CREATE TABLE IF NOT EXISTS "ornek" ( | ||
"ornek_id" INTEGER NOT NULL, | ||
"anlam_id" INTEGER NOT NULL, | ||
"ornek_sira" INTEGER NOT NULL, | ||
"ornek" TEXT, | ||
"kac" INTEGER NOT NULL, | ||
"yazar_id" INTEGER, | ||
PRIMARY KEY("ornek_id"), | ||
FOREIGN KEY("anlam_id") REFERENCES "anlam"("anlam_id"), | ||
FOREIGN KEY("yazar_id") REFERENCES "yazar"("yazar_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "anlam" ( | ||
"anlam_id" INTEGER NOT NULL, | ||
"madde_id" INTEGER NOT NULL, | ||
"anlam_sira" INTEGER NOT NULL, | ||
"fiil" INTEGER NOT NULL, | ||
"tipkes" INTEGER NOT NULL, | ||
"anlam" TEXT NOT NULL, | ||
"gos" INTEGER NOT NULL, | ||
PRIMARY KEY("anlam_id"), | ||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "anlam_ozellik" ( | ||
"anlam_id" INTEGER NOT NULL, | ||
"ozellik_id" INTEGER NOT NULL, | ||
FOREIGN KEY("ozellik_id") REFERENCES "ozellik"("ozellik_id"), | ||
FOREIGN KEY("anlam_id") REFERENCES "anlam"("anlam_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "atasozu" ( | ||
"madde_id" INTEGER NOT NULL, | ||
"madde" TEXT NOT NULL, | ||
PRIMARY KEY("madde_id"), | ||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "madde" ( | ||
"madde_id" INTEGER NOT NULL, | ||
"kac" INTEGER NOT NULL, | ||
"kelime_no" INTEGER NOT NULL, | ||
"cesit" INTEGER NOT NULL, | ||
"anlam_gor" INTEGER NOT NULL, | ||
"on_taki" TEXT, | ||
"madde" TEXT NOT NULL, | ||
"cesit_say" INTEGER NOT NULL, | ||
"anlam_say" INTEGER NOT NULL, | ||
"taki" TEXT, | ||
"cogul_mu" INTEGER NOT NULL, | ||
"ozel_mi" INTEGER NOT NULL, | ||
"lisan_kodu" INTEGER NOT NULL, | ||
"lisan" TEXT, | ||
"telaffuz" TEXT, | ||
"birlesikler" TEXT, | ||
"font" TEXT, | ||
"madde_duz" TEXT NOT NULL, | ||
"gosterim_tarihi" TEXT, | ||
PRIMARY KEY("madde_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "ozellik" ( | ||
"ozellik_id" INTEGER NOT NULL, | ||
"tur" INTEGER NOT NULL, | ||
"tam_adi" TEXT NOT NULL, | ||
"kisa_adi" TEXT NOT NULL, | ||
"ekno" INTEGER NOT NULL, | ||
PRIMARY KEY("ozellik_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "yazar" ( | ||
"yazar_id" INTEGER NOT NULL, | ||
"tam_adi" TEXT NOT NULL, | ||
"kisa_adi" TEXT NOT NULL, | ||
"ekno" INTEGER NOT NULL, | ||
PRIMARY KEY("yazar_id") | ||
); | ||
CREATE TABLE IF NOT EXISTS "madde_atasozu" ( | ||
"madde_id" INTEGER NOT NULL, | ||
"atasozu_madde_id" INTEGER NOT NULL, | ||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id"), | ||
FOREIGN KEY("atasozu_madde_id") REFERENCES "atasozu"("madde_id") | ||
); | ||
COMMIT; |
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
certifi | ||
chardet | ||
idna | ||
pymongo | ||
requests | ||
urllib3 |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes