Drupal-Taksonomi Nedir, Ne Değildir ?



   
   Taksonomi bildiğimiz gibi sınıflandırma demektir. Taksonomi de kategori kavramı yoktur, sözlük vardır, bu sözlüğün de terimleri vardır.
Alt kategori yoktur, alt terim vardır.
Bunları söylerken 'kampüs' e 'yerleşke' diyelim babında dilimize sahip çıkalım anlamında söylemiyorum. İngiliz anahtarıyla karpuz kesemezsiniz. Parçalarsınız.


    Sözlük ve terimler, matematikte anladığımız gibi bir kümeyi temsil eder. Her küme kendinden büyük bir kümenin, hatta kendinin bir alt kümesidir, terimler alt terimleriyle birlikte eleman olarak düşünülebilir. Kümenin adını (sözlüğü) kategori diye isimlendiremezsiniz. Hangi terimleri (elemanları, alt kategorileri değil!) ihtiva ettiğini anlamak için sözlüğümüze isim verebiliriz ki bu öncelikle zaten şart.
    Bir sözlüğü 'film türleri' için (kategori değil!) kullanıp, diğer sözlüğü de 'yemek türleri' (kategori değil!)
şeklinde farklı içerik tiplerine gönderme yapabiliyoruz. Sözlüğümüzün adıyla ilgili işlemleri viewsde de kullanabiliyoruz.

    Ne demiştik, sözlük kümeyi temsil eder. Farklı kümelerin ortak elemanları olabilir.

Örneğin

Küçük Araçlar Sözlüğü: Otomobil, motorsiklet, bisiklet, ...
Büyük Araçlar Sözlüğü: Tır, otobüs, kamyon, ...

Binek, ticari, iş makinesi, ... şeklinde de alt kategorilerimiz olacak.

Sitemizde 'ticari' araçlarımızı listelemek istiyoruz diyelim.

***Yanlış yöntem (bir çok insan bunu yapar, düşünce şekliyle de yazıyorum)

-Kategori oluşturuyorum, küçük araçlar.
-Alt kategori oluşturuyorum, otomobil,motorsiklet, bisiklet,...
-Otomobil'in de alt kategorileri ise binek, ticari, iş makinesi, ...
-Motorsiklet'in alt kategorileri ise binek, ticari, iş makinesi, ...
.
.
.
Bir iki tane seçelim şimdi:
Küçük Araçlar > Otomobil > ticari
Büyük Araçlar > Tır > ticari

    'ticari' kategorisi ile (aslında terim, eleman) bir türlü listeleme yapamıyoruz, gösteremiyoruz, viewsden çekemiyoruz...

    Aha!!! Hatayı görebiliyor muyuz? Ticari olma durumları bir çok alt terimde ortak olarak var, ama bu sizin aklınızda ortak. Sistemde ya da veritabanında ise farklı. Anlatılmak istenen aynı şey olmakla birlikte 'ticari' kavramı küçük-büyük araçlar, otomobil, tır, minibüs vb hepsinde yeniden oluşturulmuş. Her bir 'ticari' sadece yazılış olarak aynı. Veritabanlarından bilirsiniz, 'ticari' kavramı aslında unique özellikte olmalı (bu örneğimiz için elbette...).

    Buradaki kavramsal yanlış, 'ticari' olmanın kategori olacağı sanılmasıdır. Hal bu ki 'ticari' terimdir! Elemandır, bildiğiniz küme elemanı. Kategori adı değildir!

***Doğru Yöntem:

-Sözlükler oluşturulur,

Küçük Araçlar Sözlüğü: Otomobil, motorsiklet, bisiklet, ...
Büyük Araçlar Sözlüğü: Tır, otobüs, kamyon, ...

Alt kategori olarak düşündüğümüz "Binek, ticari, iş makinesi, ..." için yeni bir sözlük oluşturuyoruz.

Araç Türleri Sözlüğü: Binek, ticari, iş makinesi, ...
Üç tane sözlüğümüz oldu.

Şimdi söylediğimiz gibi sitemizde 'ticari' araçlarımızı listelemek istiyoruz.

-Öncelikle içerik türümüzde bu üç sözlüğü de ilişkilendiriyoruz.

Mesala,
otomobili Küçük Araçlar Sözlüğünden seçiyorum, sonra Araç Türleri Sözlüğünden de ticari'yi seçiyorum...
.
.
.
ilerletilebilir...

    Views'de 'ticari' araç olarak bize tümünü (otomobil,tır, otobüs vb)sergilemesini istiyoruz. Filtrelemek için 'ticari' terimini seçiyoruz. Ne kadar 'ticari'araç varsa hepsi karşımızda. Da da da tam!

    Hatta viewsde bize 'ticari olmayan araçları' sergile demek bile çok kolaydır artık! (Kümelerde değilleme)
Diğer yanlış yöntemle nasıl yapılabileceğini düşünmek bile istemiyoruz artık.

    İlk yaptığımız yanlıştaki gibi yapsaydık views bize sormaz mıydı?  "Sen bana 'ticari' getir diyorsun da hangi 'ticari' istiyorsun, bir sürü alt terim (sen kategori sanıyorsun) ticari var?

    En başta da söyledğimiz gibi taksonomiyi kümeler kavramı ile ele alırsak bir çok yanlış anlaşılmadan ve yanlış yollara sapmaktan kurtulmuş oluruz. Taksonomi sizin aklınızdaki yapıyı sunacak mükemmeliyette değil, fakat sınıflandıracak mükemmeliyette. Sunum kısmında doğru yapılandırılmış bir taksonomi ile sorun yaşamazsınız 

  Yine bir çok insan terimleri kategori sandığından, her terimin kendine ait bir sayfası olması gerektiğini düşünmektedir. Diğer cms'lerde yerleşik bir kategorizasyonla karşılaşıldığından ötürü bu düşünce yapısını üzerlerinden atmak zor gelmektedir.

    Ayrıca projelerinizde gerektiği durumlarda 'node reference', 'reference', 'relation' gibi yapılarla birlikte amaçladığınız hedefe ulaşmanız daha kolay olabilir.

    Hedef sözlüklerimizi oluşturmanın pratik yolu nedir diye soracak olursanız, aynı terimi farklı sözlüklerde yazdığınızı farkederseniz, bu terim farklı bir sözlüğün elamanı olmalıdır.

    Bu durumun istisnaları da vardır elbette.Bu yöntem sizin daha sonra kullanacağınız yapılar için şart olmayabilir, listeleme, views'den çekme, ilişki kurma gibi amacınız yoksa kullanmayabilirsiniz.

İstisnai durumlara bir örnek verecek olursak...

Bilgisayar üreticileri sözlüğü : Acer, Casper, Apple, Toshiba, Hp, ...
Meyve türleri sözlüğü : Pear, Orange, Apple, Banana, ...
Çizgi filmler sözlüğü : Avatar, Casper, Tom and Jerry, Yakari, ...

Yukarıdaki sözlüklerde Apple ve Casper yazılışları bakımından aynı olmakla birlikte kavramsal olarak birbirlerinden farklıdır. Kendi yapıları içerisinde alt terim olarak olarak eklenebilir.

Unutmayın taksonomi sadece sınıflandırma yapar, hepsi sadece bu. Sadece sınıflandırma, unutmuyoruz...


Not: Bir terimin alt terimlerinin olması ona 'kategori' anlamı yüklemez. Biliyoruz ki bütünüyle elemanları olan bir küme kendinin ve kendinden daha büyük bir kümenin alt kümesi (elemanı) olabilir.

    Bir sınıfta bulunan kahverengi gözlü öğrenciler, bir sınıfta bulunan kız öğrenciler, bir sınıfta bulunan kahverengi gözlü kız öğrenciler gibi.

Selamlar, sevgiler....

Hasan BEDER



0 yorum to “Drupal-Taksonomi Nedir, Ne Değildir ?”

 

Bi'blog Copyright © 2011 -- Template created by Hasan BEDER -- Powered by Blogger