Temel Kavramlar

Freebase'de yeniyseniz bu bölümde Freebase'in nasıl çalıştığını anlamak için gereken temel terminoloji ve kavramlar açıklanmıştır.

  1. Grafikler
  2. Konular
  3. Türler ve Özellikler
  4. Alanlar ve kimlikler
  5. Bileşik Değer Türleri
  6. Konu kimlik numaraları
  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, kenarlara bağlı düğümler üzerinde oluşturulur. Freebase'de düğümler /type/object kullanılarak, kenarlar ise /type/link kullanılarak tanımlanır. Verileri grafik olarak depolayan Freebase, konular arasındaki rastgele bağlantıları hızlıca ters çevirebilir ve verilerin yapısını değiştirmek zorunda kalmadan yeni şemayı kolayca ekleyebilir.

Konular

Freebase'de kullanıcılar, yerler ve nesneler gibi gerçek hayattaki varlıklar hakkında 39 milyondan fazla konu bulunuyor. Freebase verileri bir grafikte gösterildiği için bu konular grafikteki düğümlere karşılık gelir. Ancak her düğüm bir konu değildir. Konu olmayan düğümler için örnek olarak CVT'ler bölümüne bakın.

Freebase'de bulunan konu türlerine örnekler:

Bazı konular, çok fazla veri barındırdığından (ör. Wal-Mart) ve bunların bazıları, potansiyel olarak farklı bilgi alanlarında yer alan diğer pek çok konuya bağlantı verdiği için dikkate alınır. Örneğin, aşk, yoksulluk, şövalye gibi soyut konularla ilgili pek çok özellik bulunmaz ancak bunlar genellikle kitap konuları, şiir konuları, film konuları vb. olarak daha fazla dikkate alınır.

Türler ve Özellikler

Herhangi bir konu, birçok farklı açıdan görülebilir. Örneğin:

  • Bob Dylan bir şarkı yazarı, şarkıcı, sanatçı, kitap yazarı ve film oyuncusuydu;
  • Ressam, heykeltıraş, anatomi uzmanı, mimar, mühendis olan Leonardo da Vinci...
  • Aşk bir kitap konusu, film konusu, oyun konusu, şiir konusu, ...;
  • Tüm şehirler birer konum, potansiyel olarak turistik bir yer ve bir kamu çalışanıdır.

Birçok konunun bu çok yönlü yapısını yakalamak için Freebase'de types kavramını kullanıma sunduk. Freebase'deki konulara, kendilerine atanmış herhangi bir sayıda tür olabilir. Bob Dylan hakkında konuya çeşitli türler atanır: şarkı yazarı türü, müzik besteci türü, müzik sanatçısı (şarkıcı) türü, kitap yazarı türü vb. Örneğin,

  • Müzik sanatçısı türü, Bob Dylan'ın ürettiği tüm albümlerin yanı sıra çaldığı bilinen tüm enstrümanları listeleyen bir mülk içeriyor;
  • Kitap yazarı türü, İbrahim Sağlam'ın yazdığı veya düzenlediği tüm kitapların yanı sıra düşünce ya da hareketle yazma okulunu listeleyen bir mülk içerir;
  • Şirket türünde; şirket kurucuları, yönetim kurulu üyeleri, ana şirket, bölümler, çalışanlar, ürünler, yıllık gelir ve kâr kayıtları vb. bilgilerin listelenmesi için birçok mülk bulunur.

Bu nedenle tür, bilgilerin belirli bir yönünü açıklamak için en sık ihtiyaç duyulan özelliklerin kavramsal kapsayıcısı olarak düşünülebilir. (Bir türü, ilişkisel tabloya benzer şekilde düşünebilirsiniz ve her "type" tablosunda her konuyu benzersiz şekilde tanımlayan tek bir "kimlik" tablosuna yabancı anahtar eklenir.)

Alanlar ve kimlikler

Mülkler de mülklerde olduğu gibi türler de alanlar halinde gruplandırılır. Alanları, en sevdiğiniz gazetenin bölümleri olarak düşünün: İş, Yaşam Tarzı, Sanat ve Eğlence, Siyaset, Ekonomi vb. Her alana bir kimlik (tanımlayıcı) verilir, ör.

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

Ayrıca her türe bir kimlik verilir ve kimliği, ait olduğu alan adını temel alır. Örneğin, Şirket türü İşletme alanına aittir ve /business/company kimliğine sahiptir. Aşağıda birkaç örnek daha verilmiştir:

Bir tür, kimliğinin başlangıcını alanından nasıl devralıyorsa bir mülk de kimliğinin başlangıcını ait olduğu türden devralır. Örneğin, Şirket türündeki Sektör mülküne (şirketin hangi sektörde olduğunu belirtmek için kullanılır) /business/company/industry kimliği verilir. Aşağıda birkaç örnek daha verilmiştir:

Bu nedenle, türler Freebase'deki hiyerarşiler halinde düzenlenmese de alanlara, türlere ve mülklere 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'de yer alan ve 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 veya CVT'ler, Freebase'de karmaşık verileri temsil etmek için kullanılır. Başlangıç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şkileri daha doğru şekilde modellemesine olanak tanır.

Aşağıdaki örneği düşünün: Bir şehrin nüfusu zamanla değişir. Yani Freebase'i nüfus için her sorguladığınızda en azından dolaylı olarak belirli bir tarihte nüfusu talep etmiş olursunuz. Tarihe dahil olan iki kişi ve tarih değeri vardır. Bir CVT'nin son derece yararlı hale geldiği bir durumu burada bulabilirsiniz. Konu yoksa nüfus verilerini modellemek için bir konu oluşturmanız ve "Vancouver'ın 1997'deki nüfusu" gibi bir ad verip bu bilgileri orada göndermeniz gerekir.

CVT, görünen ad oluşturmanızı gerektirmeyen bir konu olarak düşünülebilir. Normal konularda olduğu gibi CVT'lerde de bağımsız olarak başvurulabilecek bir GUID bulunur. Ancak Freebase istemcisi bu konuları konularına göre çok daha farklı ele alıyor. Çoğu durumda, CVT'nin tüm mülklerinin açıklama amaçlı bir özelliği olması gerekir.

Konu kimlik numaraları

Bir konu, ad alanı/anahtar kimlikleriyle tanımlanabilir veya tanımlanamayabilir ancak her zaman bir MID ile tanımlanabilir. Makine Kimliği, /m/ ifadesinden sonra temel 32 benzersiz tanımlayıcıyı içerir. MID'ler, oluşturma sırasında konulara atanır ve konunun kullanım süresi boyunca yönetilir. Bunlar, konular birleştirildiğinde veya bölündüğünde kritik bir rol oynar ve harici Freebase kimliği (konunun GUID'si) değişse bile harici uygulamaların mantıksal konuyu takip etmesine olanak tanır. Makine tarafından oluşturulan kimlikler, aşağıdakiler gibi insan tarafından okunabilir diğer Freebase kimliklerinden ("id" özelliği tarafından döndürülür) farklıdır:

  • Var olacağı garanti ediliyor
  • Makine tarafından oluşturulmuş
  • Çevrimdışı karşılaştırmayı destekleyecek şekilde tasarlandı
  • İnsanlara anlam vermek için tasarlanmadı
  • Kısa (muhtemelen sabit uzunluklu)
  • Harici sistemler ve bileşenler (harici, exchange) arasında anahtar değişimi için idealdir

MID'ler, Freebase'de konuları ele almak için önerilen tanımlayıcıdır

Ad alanları, Anahtarlar ve Konu Kimlikleri

Alan adı, tür ve mülk kimliklerinin dosya dizini biçimindeki hiyerarşisi, daha genel bir kavram olan ad alanları ve anahtarlar uygulamalarından yalnızca biridir. Ad alanı, dosya dizini gibidir. Anahtar ise dosya adı gibidir. Belirli bir dosya dizinindeki tüm dosya adlarının kendi içinde benzersiz olması gerektiği gibi, belirli bir ad alanı içindeki tüm anahtarlar da kendi içinde benzersiz olmalıdır.

Daha net bir örnek vermek gerekirse /business, İşletme alan adına karşılık gelen ad alanıdır. Bu alan içinde, İşletme ile ilgili türlere anahtarlar verilir (ör. company) üretir. Her türün kimliği, anahtarı ad alanının kimliğine eklenerek oluşturulur (ör. /business/company) seçebilirsiniz.

Ad alanlarının yanında alanlara ve türlere karşılık gelen birkaç ad alanı türü vardır. En önemli ve en sık karşılaşılan /en ad alanıdır. Bu, en iyi bilinen konulara, kullanıcıların okuyabileceği İngilizce kimlikler oluşturmak için benzersiz anahtarlar verilmesine olanak tanıyan İngilizce ad alanıdır. Örneğin, üretken olan Bob Dylan o kadar iyi bilinir ki, Freebase'deki konusuna /en ad alanında bob_dylan anahtarı verilmiş ve konunun kimliği /en/bob_dylan olmuştur. Bu kimlik, web istemcisindeki konusuna basit URL ile erişmenize olanak tanır

Mülkler hakkında daha fazla bilgi

Ele alınacak son temel kavram, Freebase mülkleri ile ilişkisel veritabanı teknolojilerindeki benzerlikleri, yani ilişkisel tablo sütunları arasındaki büyük fark. Her satır için ilişkisel tablo sütunu yalnızca bir değer içerebilir. Örneğin, "author" adlı bir sütunla tipik bir "kitap" ilişki tablosu düşünün. "Kitap" tablosundaki her satır için "author" sütunu bir "author" tablosuna yalnızca bir yabancı anahtar getirebilir. Bir kitabın birden fazla yazarı varsa bu basit ilişkisel şema tasarımı işe yaramaz. Yazarlıkların modellemesi için yeni bir tablo oluşturmamız gerekir. Yani kitaplar ile yazarlar arasındaki n'n'le ilişkileri depolamak için bir "kitap", bir "yazar" tablosu ve bir "yazarlık" tablosu gerekir. Ayrıca, bir şema tasarımından diğerine geçerken verileri alma biçiminiz büyük ölçüde değişir.

Geleneksel veritabanı teknolojilerinin aksine Freebase, gerçek zamanlı verilerin modellenmesinde çok değerli özellikleri varsayılan olarak çok değerli özellikleri desteklediğini düşünüyor. Yani /book/written_work/author özelliği oluşturulduğunda her kitap için birden fazla yazara izin verildiği varsayıldığında birden çok değere sahip bir mülkü ve tek bir değere sahip mülkü tam olarak aynı şekilde sorgulayabilirsiniz. N'den n'ye ilişkisini modelleyen üçüncü bir tabloyla birleştirmeniz gerekip gerekmediğini düşünmenize gerek yoktur.

Özet

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