Temel Kavramlar

Freebase'e yeni başladıysanız bu bölümde, Freebase'in işleyiş şeklini anlamak için gereken temel terminoloji ve kavramlar ele alınmaktadır.

  1. Grafikler
  2. Konular
  3. Türler ve Özellikler
  4. Alanlar ve kimlikler
  5. Bileşik Değer Türleri
  6. Konu M'leri
  7. Ad alanları, anahtarlar ve konu kimlikleri
  8. Mülkler hakkında daha fazla bilgi
  9. Özet

Grafikler

Freebase verileri, grafik adı verilen bir veri yapısında depolanır. Grafikler, kenarlarla birbirine bağlanmış düğümlerden oluşur. Freebase'de düğümler /type/object kullanılarak, kenarlar ise /type/link kullanılarak tanımlanır. Freebase, verileri grafik olarak depolayarak konular arasındaki rastgele bağlantıları hızlıca geçebilir ve verilerin yapısını değiştirmek zorunda kalmadan kolayca yeni şema ekleyebilir.

Konular

Freebase'te kişiler, yerler ve nesneler gibi gerçek dünya varlıklarıyla ilgili 39 milyondan fazla konu bulunur. Freebase verileri bir grafikte gösterildiğinden bu konular grafikteki düğümlere karşılık gelir. Ancak her düğüm bir konu değildir. Konu olmayan düğümlere örnek olarak CVT'ler ile ilgili bölüme bakın.

Freebase'te bulunan konu türlerine örnekler:

Bazı konular çok fazla veri içerdiğinden (ör. Wal-Mart) ve bazıları da birçok başka konuya, hatta farklı bilgi alanlarına bağlantı verdiği için dikkat çekicidir. Örneğin, aşk, yoksulluk, şövalyelik gibi soyut konularla ilişkili çok fazla özellik olmasa da bu konular kitap, şiir ve film gibi alanlarda sıkça ele alındığı için daha dikkat çekici hale gelir.

Türler ve Özellikler

Belirli bir konu, örneğin aşağıdaki gibi birçok farklı açıdan ele alınabilir:

  • Bob Dylan; şarkı yazarı, şarkıcı, sanatçı, kitap yazarı ve sinema oyuncusuydu.
  • Leonardo da Vinci ressam, heykeltıraş, anatomist, mimar, mühendis, ...;
  • Aşk bir kitap konusu, film konusu, oyun konusu, şiir konusu, ...;
  • Her şehir bir konum, potansiyel bir turistik yer ve memurların işvereni olabilir.

Birçok konunun bu çok yönlü yapısını yakalamak için Freebase'te türler kavramını kullanıyoruz. Freebase'teki konulara istenen sayıda tür atanabilir. Bob Dylan ile ilgili konuya; şarkı yazarı, müzik bestecisi, müzik sanatçısı (şarkıcı), kitap yazarı gibi çeşitli türler atanır. Her tür, o türle ilgili farklı bir özellik kümesi taşır. Örneğin,

  • Müzik sanatçısı türü, Bob Dylan'ın ürettiği tüm albümleri ve çaldığı bilinen tüm müzik enstrümanlarını listeleyen bir özellik içerir.
  • Kitap yazarı türü, Bob Dylan'ın yazdığı veya düzenlediği tüm kitapların yanı sıra yazarın yazım tarzını veya akımını listeleyen bir özellik içerir.
  • Şirket türü; şirketin kurucularını, yönetim kurulu üyelerini, ana şirketini, bölümlerini, çalışanlarını, ürünlerini, yıllık gelir ve kâr kayıtlarını vb. listelemek için birçok özellik içerir.

Dolayısıyla, bir tür, en yaygın olarak bilgiyle ilgili belirli bir yönü tanımlamak için gereken özelliklerin kavramsal bir kapsayıcısı olarak düşünülebilir. (Bir türü ilişkisel tabloya benzetebilirsiniz. Her "tür" tablosu, her konuyu benzersiz şekilde tanımlayan "kimlik" tablosunda bir yabancı anahtara sahiptir.)

Alanlar ve kimlikler

Mülkler türlere göre gruplandırıldığı gibi türler de alanlara göre gruplandırılır. Alanları, en sevdiğiniz gazetede yer alan bölümler gibi düşünebilirsiniz: İş, Yaşam Tarzı, Sanat ve Eğlence, Siyaset, Ekonomi vb. Her alana bir kimlik (tanımlayıcı) verilir. Örneğin:

Bir alanın kimliği, dosya yolu veya web adresindeki bir yol gibi görünür.

Her türe bir kimlik de atanır ve kimliği, ait olduğu alana göre belirlenir. Örneğin, Şirket türü, İşletme alanına aittir ve /business/company kimliği verilir. Diğer bazı örnekler:

  • /music/album, Müzik alanına ait (Müzik) Albüm türünün kimliğidir.
  • /film/actor - Film alanındaki İşlemi Gerçekleştiren Kullanıcı türü
  • /medicine/disease - İlaç alanındaki Hastalık türü

Bir tür, kimliğinin başlangıcını alanından devraldığı gibi bir mülk de kimliğinin başlangıcını ait olduğu türden devralır. Örneğin, Şirket türünün Sektör özelliği (bir şirketin hangi sektörde olduğunu belirtmek için kullanılır) /business/company/industry kimliğini alır. Diğer bazı örnekler:

Bu nedenle, Freebase'te türler hiyerarşik olarak düzenlenmemiş olsa da alanlara, türlere ve özelliklere dosya dizini benzeri bir hiyerarşide kavramsal olarak düzenlenmiş kimlikler verilir.

Bileşik Değer Türleri

Bileşik Değer Türü, Freebase'te her girişin birden fazla alandan oluştuğu verileri temsil etmek için kullanılan bir Türdür. Bileşik değer türleri (CVT), Freebase'de karmaşık verileri temsil etmek için kullanılır. İlk başta biraz kafa karıştırıcı olabilir ancak CVT'ler Freebase şemasının çok önemli bir parçasıdır ve konular arasındaki karmaşık ilişkilerin daha doğru şekilde modellenmesini sağlar.

Şu örneği ele alalım: Bir şehrin nüfusu zaman içinde değişir. Bu nedenle, Freebase'e nüfusla ilgili bir sorgu gönderdiğinizde belirli bir tarihteki nüfusu en azından dolaylı olarak soruyorsunuzdur. İki değer söz konusudur: kişi sayısı ve tarih. CVT'nin son derece faydalı olduğu bir durum: Böyle bir alan olmadan, nüfus verilerini modellemek için bir konu oluşturmanız, bu konuya "1997'de Vancouver'ın nüfusu" gibi bir ad vermeniz ve bilgileri bu konuya göndermeniz gerekir.

CVT, görünen ad oluşturmanızı gerektirmeyen bir konu olarak düşünülebilir. CVT'ler, normal konular gibi bağımsız olarak referans verilebilen bir GUID'ye sahiptir. Ancak Freebase istemcisi bunları konulardan çok farklı şekilde ele alır. Çoğu durumda, CVT'nin her özelliği bir netleştirme özelliği olmalıdır.

Konu MIDs

Bir konu, ad alanı/anahtar kimlikleriyle tanımlanabilir veya tanımlanamayabilir ancak her zaman bir MID (Makine Tanımlayıcısı) ile tanımlanabilir. MID, /m/ ile başlar ve 32 tabanlı benzersiz bir tanımlayıcıyla devam eder. MID'ler, oluşturma sırasında konulara atanır ve konunun yaşam döngüsü boyunca yönetilir. Konular birleştirildiğinde veya bölündüğünde kritik bir rol oynayarak harici uygulamaların, fiziksel Freebase kimliği (konunun GUID'si) değişse bile mantıksal konuyu izlemesine olanak tanır. Makine tarafından oluşturulan kimlikler, diğer kullanıcı tarafından okunabilir Freebase kimliklerinden ("id" özelliği tarafından döndürülen) şu açılardan farklıdır:

  • Kesinlikle mevcut
  • Makine tarafından oluşturulan
  • Çevrimdışı karşılaştırmayı destekleyecek şekilde tasarlanmıştır.
  • İnsanlara anlam iletmek için tasarlanmamıştır
  • Kısa (muhtemelen sabit uzunlukta)
  • Harici sistemler ve bileşenler (harici, değişim) arasında hızlı anahtar değişimi için idealdir.

MID'ler, Freebase'teki konuları ele almak için kullanılması önerilen tanımlayıcılardır.

Ad alanları, anahtarlar ve konu kimlikleri

Alan, tür ve mülk kimliklerinin dosya dizini benzeri hiyerarşisi, daha genel bir kavram olan ad alanları ve anahtarların yalnızca bir uygulamasıdır. Ad alanı, dosya dizinine, anahtar ise dosya adına benzer. Belirli bir dosya dizinindeki tüm dosya adları kendi aralarında benzersiz olmalıdır. Aynı şekilde, belirli bir ad alanındaki tüm anahtarlar da kendi aralarında benzersiz olmalıdır.

Daha spesifik bir örnek olarak, /business, İşletme alanına karşılık gelen ad alanıdır. Bu dosyadaki işletmeyle ilgili türlere anahtarlar verilir (ör. company) kendi aralarında benzersiz olmalıdır. Her türün kimliği, anahtarının ad alanının kimliğine eklenmesiyle oluşturulur (ör. /business/company).

Alanlara ve türlere karşılık gelen ad alanlarının yanı sıra çeşitli ad alanı türleri vardır. En önemli ve en sık karşılaşılan ad alanı /en ad alanıdır. Bu, en bilinen konulara okunabilir İngilizce kimlikler oluşturmak için benzersiz anahtarların verilebileceği İngilizce ad alanıdır. Örneğin, üretken sanatçı Bob Dylan o kadar iyi tanınır ki Freebase'teki konusu /en ad alanında bob_dylan anahtarıyla verilir ve bu nedenle konunun kimliği /en/bob_dylan olur. Bu kimlik, web istemcisinde basit URL ile konuya erişmenizi sağlar.

Tesisler hakkında daha fazla bilgi

Tartışılacak son temel kavram, Freebase mülkleri ile ilişkisel veritabanı teknolojilerindeki benzerleri (yani ilişkisel tablo sütunları) arasındaki büyük bir farkla ilgilidir. Her satır için, ilişkisel tablo sütunu yalnızca bir değer içerebilir. Örneğin, "yazar" adlı bir sütunu olan tipik bir "kitap" ilişkisel tablosunu ele alalım. "book" tablosundaki her satır için "author" sütunu yalnızca bir "author" tablosuna yabancı anahtar içerebilir. Bir kitabın birden fazla yazarı varsa bu basit ilişkisel şema tasarımı çalışmaz ve yazarlıkları modellemek için yeni bir tablo oluşturmamız gerekir. Yani kitaplar ve yazarlar arasındaki n'den n'ye ilişkileri depolamak için bir "kitap" tablosu, bir "yazar" tablosu ve bir "yazarlık" tablosu gerekir. Ayrıca, bir şema tasarımından diğerine geçtiğinizde verileri alma şekliniz de oldukça radikal bir şekilde değişir.

Geleneksel veritabanı teknolojilerinin aksine Freebase, çok değerli özelliklerin gerçek hayattaki verilerin modellenmesinde çok faydalı olduğunu düşünür ve bu nedenle çok değerli özellikleri varsayılan olarak destekler. Yani /book/written_work/author özelliği oluşturulurken kitap başına birden fazla yazara izin verdiği varsayılıyordu ve çok değerli bir özellik ile tek değerli bir özellik için tam olarak aynı şekilde sorgu oluşturabilirsiniz. Çoktan çok ilişkiyi modelleyen üçüncü bir tabloyla birleştirme yapmanız gerekip gerekmediğini düşünmenize gerek yoktur.

Özet

  • Tür, bir konunun belirli bir yönünü açıklamak için genellikle gerekli olan ilgili özelliklerin kavramsal bir kapsayıcısıdır.
  • Bir konuya bir veya daha fazla tür atanabilir (varsayılan tür /common/topic'dır).
  • Mülkler türler halinde gruplandırılırken türler de alanlar halinde gruplandırılır.
  • Alanlara, türlere ve özelliklere bir ad alanı/anahtar hiyerarşisinde kimlikler verilir.
  • Genel olarak bilinen konulara, /en ad alanında kullanıcıların okuyabileceği İngilizce dizeler olan kimlikler atanır.
  • Konular, Freebase'te GUID'ler ile benzersiz bir şekilde tanımlanır.
  • Özellikler varsayılan olarak çok değerlidir ve çok değerli özellikler ile tek değerli özellikler aynı şekilde sorgulanabilir.