Modül:Kategori/veri/yapılar
Bu modül, Modül:Kategori tarafından kullanılan bir veri modülüdür. Yeni bir kategori verisi eklemek için lütfen önce ana modülün belgelemesini okuyun. Daha sonra da aşağıda belirtilen nesnelerin yapısını anlayın.
Diğer veri modülleri |
---|
Nesnelerin yapısı
Bir nesnenin yapısı şu şekildedir (her nesnede aynı etiketler mevcut):
k["doğanlar"] = { "doğumlular", ek = {"y", "d"}, ebeveynler = {"başlangıçlar", "kişiler"}, sira_anahtari = {"D", "D"}, kademe = 4, aciklama = "{{{yılda}}} doğmuş olan insanlar", bak = {"ölenler"}, gore = "doğum", }
numaralı değerler
1, 2, 3 veya 4 numaralı değerler şu anlamda kullanılır; mesela genel olarak eserler kategorileri şu şekildedir:
Görüleceği üzere tüm kademelerde (yıl, onyıl, yüzyıl ve binyıl) sonuna eklenen kısım aynı ve bu eserler. Ama bazu durumlarda bu adlar aynı olmayabilir. Yukarıdaki doğanlar nesnesinde 1 numaralı değer doğumlular olarak girilmiş, bunun sebebi şudur:
Birinci kademede (yıl değerinde) doğumlular yazılırken üst kademelerde doğanlar yazılır. Eğer bu durum şöyle olsaydı:
- 2012'de doğanlar
- 2010'lar doğumlular
- 21. yüzyılda doğanlar
- 3. binyılda doğanlar
Bu defa da nesnede şöyle bir giriş yapılması gerekirdi:
k["doğanlar"] = { nil, "doğumlular" }
1 numaralı değeri geçersiz kılacak "nil" değerini girmeliyiz ve ardından 2 numaralı değere de ikinci kademe kategorinin (onyıl) adında doğumlular eklendiği için bu değeri yazmalıyız. 3 ve 4 numaralı değerleri kullanmıyoruz, çünkü bir farklılık olmadığı sürece gerek yok.
ek=
Bu değer bir nesne tipindeki yıl, onyıl, yüzyıl veya binyıl değerinden sonra "de, da" eklerinin eklenip eklenmeyeceğini saptamamıza yardım eder. Bu değerin tipi bir string de olabilir, table da. Yukarıda gördüğümüz örnekte bir tablo olarak eklenmiş. Bunun sebebi şu:
Bu listede yıl kademesinde ek yok, fakat üst kademelerde var. Bu sebeple şu şekilde tablo eklenmiş: {"y", "d"}
Birinci "y" değeri, "yanlış" demek, yani ek eklenmemeli. İkinci "d" değeri ise "doğru" demek yani ek eklenmeli. Bunun sıralaması da şu şekildedir, bu tablo içerisine 4 numaraya kadar değer eklenebilir, her bir değer bir kademe (yıl, onyıl, yüzyıl veya binyıl) içindir. Birinci değer yıl kademesi içindir, ikinci değer onyıl kademesi içindir ve eğer devamında bir değer yoksa ikinci değerde olduğu gibi kullanılır.
Tabi hepsi birbiri ile tutarlı ise, yukarıdaki eserler örneğindeki gibi. Buraya tablo yerine ek = "d",
şeklinde bir değer eklenir yalnızca. Bu da her kademede ek eklenmesi gerektiğini söyler.
NOT: Eğer 2012'deki afetler gibi bir kategoriye aitse nesne, herhangi bir ek değerini "d" veya "y" değil de "ki" yapmanız gerekmektedir.
ebeveynler=
Kategorinin eklenmesi gereken üst kategorilerin tipine göre kategori adlarının listesini bize verir. Yukarıdaki durumda ilk ebeveynimiz başlangıçlar mesela. Bu demek oluyor ki, en başta sayfa adından ayırdığımız yıl değerini en başa ekleyip uygun ebeveyne eklememiz gerek. Yılımız 2000 idi. Yani ilk ebeveynimiz 2000'de başlangıçlar olacak. Burada yılın ekinin eklenip eklenmeyeceğini de başlangıçlar nesnesine bakarak anlıyoruz:
k["başlangıçlar"] = { ek = "d", ebeveynler = {"kategoriler"}, sira_anahtari = {"B"}, kademe = 4, }
İkinci ebeveynimiz de kişiler, aynı işlem bu ebeveyne de yapılır.
Şimdi ise, bir üst kademe kategorisine geçmemiz gerek, bir üst kademe onyıl kategorisi olduğu için mevcut yılın bulunduğu onyılı saptıyoruz öncelikle, ki bu da 2000'ler, yani sonuç olarak da 2000'lerde doğanlar ebeveynini elde ediyoruz. Her bir nesnenin bir üst seviyedeki kategorisi otomatik olarak saptanmaktadır. Yani, bu durumda 2000'lerde doğanlar nesnesinin üst kategorisini elde ettik, fakat eğer bu tipi onyıla göre ayırıyorsak bu kategori eklenir. Aksi takdirde eklenmez. Bir üst kademe kategorisinin hangi durumlarda eklenip eklenmeyeceği aşağıdaki kademe=
başlığında açıklanmıştır.
sira_anahtari=
Bir tablodur. Bu tablonun içerisinde sırasıyla her ebeveyne eklenecek olan kategori anahtarı bulunur. Kategori anahtarı ise, bir kategori eklerken sıralanacağı harfi belirler. Yani [[Kategori:2020'de sanat|E]]
ifadesindeki E bir kategori anahtarıdır. Her kategori, her ebeveynine farklı bir anahtar ile eklenebilir. Önemli olan ebeveynlerin ve anahtarların aynı sıralamada olmasıdır.
kademe=
Bir kategori tipinin hangi kademeye kadar devam edeceğini belirtir. Mesela yukarıdaki örnekte bu değer 4 olarak belirlenmiş. Bu demek oluyor ki, doğanlar kategorilerini yıldan, binyıla kadar ayırt edebiliyoruz. Fakat derleme albümleri nesnesini incelediğimizde:
k["derleme albümleri"] = { ek = "y", ebeveynler = {"albümler"}, sira_anahtari = {"D"}, kademe = 2, }
Görüyoruz ki, buradaki kademe 2, yani bu derleme albümlerini yalnızca yıla ve onyıla göre ayırt edebiliyoruz. Bu kademe değerleri zamanla yoğunluğa göre değiştirilebilir.
kademeYok=
Bu parametre, bir istisna parametresidir. Normalde eğer bir kategori tipinin kademeleri yüzyıla veya binyıla kadar çıkıyorsa, fakat, yıl ve onyılda kademelendirmesi mevcut değilse bu parametre kullanılabilir.
Örneğin, Kategori:21. yüzyıl kişileri kategorisi mevcutken Kategori:2021 kişileri adlı bir kategori mevcut değildir. Bu durumda bu nesnenin yapısı bu şekildedir:
k["kişileri"] = { ek = "y", ebeveynler = {"kategoriler"}, sira_anahtari = {"K"}, kademe = 4, kademeYok = 2, }
Yukarıda girilmiş olan kademeYok = 2
ifadesi demektir ki, bu kategori tipinin yıl ve onyıl kategorileri mevcut değil. Eğer bu değer 1
olmuş olsaydı o zaman yalnızca yıl kategorileri mevcut olmayıp, kademeler onyıldan başlayacaktı.
aciklama=
Sayfada eğer bir açıklama yazısı eklenecek ise bu yazıdır.
bak=
Eğer {{kategori ayrıca bakınız}} şablonu ile en başa eklenmesi gereken başka bir kategori varsa, bunu buraya ekleyebiliriz. Örnekte {"ölenler"}
şeklinde eklenmiş. Bir tablonun içerisinde "ölenler" değeri var. Yani ölenler nesnesini çağırıp onun aynı kademediki karşılık kategorisini en üste ekliyoruz.
sonHarfSil=
Bu varsa true
değeri ile eklenebilir. Bu şu amaç için kullanılır, mesela derleme albümleri kategorileri şu şekildedir:
Ama bunların her biri şöyle ana kategorilere sahiptir:
Görüldüğü üzere "yıla göre ..." ifadesinde kullanılırken derleme albümleri ifadesindeki son harf olan "i" silinmiştir, yani eğer bu değer girilirse göre kategorilerinde hep son harf silinir. Benzer durumlar; "2010 şarkıları", "2010 albümleri" vs...
gore=
Bu değer Yıla göre derleme albümler veya Döneme göre müzik tarzı kategoriler için kullanılan bir değerdir. Mesela en üstteki örneğimizde bu değer gore = "doğum",
şeklinde girilmiş. Bu demek oluyor ki, Döneme göre doğanlar kategorisindeysek, bu kategorinin üst kategorisi "doğanlar" veya "doğumlular" değil "doğum" şeklinde olmalıdır.
Bu değer eğer hayır olursa, Başladığı döneme göre televizyon dizilerinde olduğu gibi, bunun üst kademesi eklenmez, yalnızca ebeveynler değerleri eklenir.
Bu değer eğer üst olursa, Yıla göre remiks albümlerinde olduğu gibi, bunun üst kategorisi yani bir "Döneme göre ..." kategorisi yoktur, bu sebeple de direkt Remiks albümleri kategorisine eklenir.
Eğer hem üst kategorisi yani bir "Döneme göre ..." kategorisi yoksa ve de göre kategorileri farklı adla adlandırılmış bir kategoriye eklenecekse bu değeri bir tablo şeklinde eklemelisiniz. Yani {"üst", "dönemlere göre Almanya tarihi"}
gibi. Mesela Almanya nesnesi incelendiğinde:
k["Almanya"] = { ek = "d", ebeveynler = {"Avrupa", "ülkelere göre"}, sira_anahtari = {"A", "A"}, kademe = 4, gore = {"üst", "dönemlere göre Almanya tarihi"} }
Normalde Yıla göre Almanya kategorisinin üst değeri eklendiği için Döneme göre Almanya kategorisine değil de Almanya kategorisine eklenmesi gerekir. Fakat tablo şeklinde ekleme yapıldığında ve hem üst hem de ikinci bir dönemlere göre Almanya tarihi adı girildiğinde Yıla göre Almanya kategorisi, Dönemlere göre Almanya tarihi kategorisine eklenir.
goreTipi=
Eğer Kategori:Yıla göre eserler gibi çok yoğun bir alt kategori kitlesine sahip bir kategorinin bir de alt dalları mevcutsa bunun için goreTipi parametresi kullanılabilir. Mesela, Kategori:Yıla göre albümler normalde bu kategoride bulunması gerekiyor, fakat bu kategori yıllar ile dolduğu için (400'den fazla yıl kategorisi) bunun gibi alt kategoriler burada karmaşaya sebep olacaktır. Bu sebeple Kategori:Yıla ve tipe göre eserler isimli bir alt kategori oluşturulmuş, buraya da eserlerin alt tipleri yerleştirilmiştir. Bu durumda "albümler" kategori nesnesinin goreTipi, tipe olmuş oluyor.
Örnek:
k["albümleri"] = { ek = "y", ebeveynler = {"müzik", "eserler"}, sira_anahtari = {"A", "A"}, kademe = 3, sonHarfSil = true, goreTipi = "tipe" }
Yani özetle herhangi bir kategoriyi "Yıla ve ... göre KATEGORİ", "Onyıla ve ... göre KATEGORİ" vs. şeklinde sınıflandırmak için bu parametreyi kullanabilirsiniz.
basta=
Bu değer bir string değeridir. Bir kategori adında yıl başta değilse, yani yılın başında gelen başka bir ifade mevcutsa, bunu bu parametreyi kullanarak belirtmelisiniz.
Mesela Kategori:Kıtalara göre 2012 kategorisi. Burada 2012 yılı kategorinin en sonunda. Bu nesnede basta parametresine bizim "kıtalara göre" ifadesini girmemiz gerekiyor ki, modül yılın kıtalara göre'den sonra geldiğini anlayabilsin.
Ya da "ülkelere göre spor" nesnesini incelersek, Kategori:Ülkelere göre 2010'da spor kategorisi için baktığımızda, burada nesnemizin adı, yılı çıkarttığımız zamanki haliyle oluşmuş. Fakat yıl ortada duruyor. Yılın hangi ifadeden sonra geldiğini anlayabilmesi için modülün, aşağıdaki gibi "basta" parametresine "ülkelere göre" yazmalısınız.
k["ülkelere göre spor"] = { ek = "d", ebeveynler = {"futbol", "ülkelere göre"}, sira_anahtari = {"Ü", "Ü"}, kademe = 3, basta = "ülkelere göre" }
donustur=
Eğer bir kategori tipinin yıl kategorilerindeki ismi ile göre kategorilerindeki ismi farklı ise donustur=
parametresi ile bu ismin dönüştürülmesi sağlanır. Örneğin,
k["kurguda"] = { ek = "y", ebeveynler = {"kategoriler"}, sira_anahtari = {"K"}, kademe = 4, donustur = "kurgu", }
Yukarıdaki nesne normalde Kategori:Kurguda 2010 gibi yıl kategorilerine sahiptir. Yani aslında bu nesnenin ismi "kurguda" olarak kodlanır. Fakat Kategori:Onyıla göre kurguda gibi bir kullanım değil de Kategori:Onyıla göre kurgu diye bir kullanım mevcuttur. Bu sebeple de bu nesneye donustur=
parametresi ile "kurgu" değeri verilmiştir.
sonrasi=, arasi=
Bu parametre, bir kategori nesnesini belli bir yıldan önce, başka bir kategori nesnesine dönüştürür. Mesela, Amerika Birleşik Devletleri 1776'dan beri vardır. Bu tarihten önce On Üç Koloni olarak bilinmektedir. Fakat bunun altındaki bazı alt kategoriler her iki dönemde de mevcuttur. 1776 yılından önce Amerika Birleşik Devletleri diye bir ülke olmadığı için, bu kategori nesnesini 1776 yılından öncesindeki kategoriler için On Üç Koloni'ye dönüştürür. Örnek olarak Kategori:1607'de Virginia sayfasına bakabilirsiniz. Burada ebeveyn On Üç Koloni olarak görünmekte. Fakat Kategori:1776'da Virginia sayfasında ebeveynlerde artık Amerika Birleşik Devletleri'ni görebilmekteyiz.
k["Amerika Birleşik Devletleri"] = { ek = "d", ebeveynler = {"Kuzey Amerika", "ülkeler"}, sira_anahtari = {"A", "A"}, kademe = 4, "1776", "On Üç Koloni"} }
local k = {}
k["tamamlanan yapılar"] = {
ek = "d",
ebeveynler = {"mimarlık"},
sira_anahtari = {"Y"},
kademe = 4,
}
-- Buradan sonraki liste alfabetiktir
k["açılan kanallar"] = {
ek = "d",
ebeveynler = {"tamamlanan ulaşım altyapısı"},
sira_anahtari = {"K"},
kademe = 3,
gore = {"üst", "kanallar"}
}
k["kurulan havalimanları"] = {
ek = "d",
ebeveynler = {"tamamlanan ulaşım altyapısı", "havacılık"},
sira_anahtari = {"H", "H"},
kademe = 2,
}
k["kurulan müzeler"] = {
ek = "d",
ebeveynler = {"kurulan oluşumlar", "tamamlanan kültürel altyapı"},
sira_anahtari = {"M", "M"},
kademe = 3,
goreTipi = "tipe"
}
k["kurulan sanat müzeleri"] = {
ek = "d",
ebeveynler = {"kurulan müzeler", "sanat"},
sira_anahtari = {"S", "M"},
kademe = 1,
gore = "üst",
}
k["tamamlanan altyapı"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar"},
sira_anahtari = {"A"},
kademe = 3,
goreTipi = "tipe"
}
k["tamamlanan Budist tapınakları"] = {
ek = "d",
ebeveynler = {"tamamlanan dinî yapılar", "Budizm"},
sira_anahtari = {"B", "T"},
kademe = 3,
gore = "üst",
}
k["Budist tapınakları"] = "tamamlanan Budist tapınakları"
k["tamamlanan camiler"] = {
ek = "d",
ebeveynler = {"tamamlanan dinî yapılar", "İslam"},
sira_anahtari = {"C", "C"},
kademe = 3,
portaller = {"İslam"},
}
k["camileri"] = "tamamlanan camiler"
k["camiler"] = "tamamlanan camiler"
k["tamamlanan dinî yapılar"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar", "din"},
sira_anahtari = {"D", "Y"},
kademe = 4,
portaller = {"Din"},
goreTipi = "tipe"
}
k["dinî yapıları"] = "tamamlanan dinî yapılar"
k["dinî yapılar"] = "tamamlanan dinî yapılar"
k["tamamlanan enerji altyapısı"] = {
ek = "d",
ebeveynler = {"tamamlanan altyapı"},
sira_anahtari = {"E"},
kademe = 3,
}
k["tamamlanan etkinlik mekânları"] = {
ek = "d",
ebeveynler = {"kurulan oluşumlar", "tamamlanan yapılar"},
sira_anahtari = {"E", "E"},
kademe = 4,
goreTipi = "tipe"
}
k["tamamlanan evler"] = {
ek = "d",
ebeveynler = {"tamamlanan konutlar"},
sira_anahtari = {"E"},
kademe = 1,
gore = "üst"
}
k["tamamlanan hükûmet binaları"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar"},
sira_anahtari = {"H"},
kademe = 3,
goreTipi = "tipe"
}
k["tamamlanan kiliseler"] = {
ek = "d",
ebeveynler = {"tamamlanan dinî yapılar", "Hristiyanlık"},
sira_anahtari = {"K", "K"},
kademe = 3,
portaller = {"Hristiyanlık"},
}
k["kiliseleri"] = "tamamlanan kiliseler"
k["kiliseler"] = "tamamlanan kiliseler"
k["tamamlanan konutlar"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar"},
sira_anahtari = {"K"},
kademe = 3,
goreTipi = "tipe"
}
k["tamamlanan köprüler"] = {
ek = "d",
ebeveynler = {"tamamlanan ulaşım altyapısı"},
sira_anahtari = {"K", "K"},
kademe = 3,
goreTipi = "tipe"
}
k["tamamlanan kuleler"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar"},
sira_anahtari = {"K"},
kademe = 3,
gore = "üst",
goreTipi = "tipe"
}
k["tamamlanan kumarhaneler"] = {
ek = "d",
ebeveynler = {"tamamlanan ticaret binaları"},
sira_anahtari = {"K"},
kademe = 3,
gore = "üst",
}
k["tamamlanan kültürel altyapı"] = {
ek = "d",
ebeveynler = {"tamamlanan altyapı"},
sira_anahtari = {"K"},
kademe = 3,
}
k["tamamlanan müzik tesisleri"] = {
ek = "d",
ebeveynler = {"tamamlanan kültürel altyapı", "müzik", "tamamlanan etkinlik mekânları"},
sira_anahtari = {"M", "T", "M"},
kademe = 3,
}
k["tamamlanan ofis binaları"] = {
ek = "d",
ebeveynler = {"tamamlanan ticaret binaları"},
sira_anahtari = {"O"},
kademe = 2,
gore = "üst",
}
k["tamamlanan otel binaları"] = {
ek = "d",
ebeveynler = {"tamamlanan ticaret binaları"},
sira_anahtari = {"O"},
kademe = 2,
gore = "oteller",
bak = {"kurulan oteller"},
}
k["tamamlanan Roma Katolik kiliseleri"] = {
ek = "d",
ebeveynler = {"tamamlanan dinî yapılar", "Katoliklik"},
sira_anahtari = {"R", "K"},
kademe = 3,
portaller = {"Hristiyanlık"},
}
k["tamamlanan sinagoglar"] = {
ek = "d",
ebeveynler = {"tamamlanan dinî yapılar", "Yahudilik"},
sira_anahtari = {"S", "T"},
kademe = 3,
portaller = {"Hristiyanlık"},
}
k["tamamlanan spor mekânları"] = {
ek = "d",
ebeveynler = {"tamamlanan kültürel altyapı", "spor", "tamamlanan etkinlik mekânları"},
sira_anahtari = {"S", "T", "S"},
kademe = 3,
}
k["tamamlanan ticaret binaları"] = {
ek = "d",
ebeveynler = {"tamamlanan yapılar"},
sira_anahtari = {"T"},
kademe = 4,
gore = "ticari yapılar",
goreTipi = "tipe"
}
k["tamamlanan ulaşım altyapısı"] = {
ek = "d",
ebeveynler = {"tamamlanan altyapı", "ulaşım"},
sira_anahtari = {"U", "A"},
kademe = 3,
}
k["yıkılmış yapılar"] = {
ek = "d",
ebeveynler = {"feshedilmiş oluşumlar", "mimarlık"},
sira_anahtari = {"Y", "Y"},
kademe = 2,
gore = "üst",
goreTipi = "tipe"
}
return k