Konsep Dasar

Jika Anda baru menggunakan Freebase, bagian ini membahas terminologi dan konsep dasar yang diperlukan untuk memahami cara kerja Freebase.

  1. Grafik
  2. Topik
  3. Jenis dan Properti
  4. Domain dan ID
  5. Jenis Nilai Majemuk
  6. MID Topik
  7. Namespace, Keys, dan Topic ID
  8. Selengkapnya tentang Properti
  9. Ringkasan

Grafik

Data Freebase disimpan dalam struktur data yang disebut grafik. Grafik disusun di node yang terhubung oleh tepi. Di Freebase, node ditentukan menggunakan /type/object dan tepi ditentukan menggunakan /type/link. Dengan menyimpan data sebagai grafik, Freebase dapat melintasi koneksi arbitrer antar-topik dengan cepat dan menambahkan skema baru dengan mudah tanpa harus mengubah struktur data.

Topik

Freebase memiliki lebih dari 39 juta topik tentang entitas dunia nyata seperti orang, tempat, dan berbagai hal. Karena data Freebase diwakili grafik, topik ini sesuai dengan node dalam grafik. Namun, tidak setiap node merupakan topik. Lihat bagian CVT untuk mengetahui contoh node yang bukan topik.

Contoh jenis topik yang ditemukan di Freebase:

Beberapa topik penting karena berisi banyak data (mis., Wal-Mart), dan beberapa di antaranya terkenal karena terkait dengan banyak topik lainnya, yang mungkin berada di domain informasi yang berbeda. Misalnya, topik abstrak seperti cinta, kemiskinan, kultur, dll. tidak memiliki banyak properti yang terkait dengannya, tetapi topik tersebut sering muncul sebagai subjek buku, subjek puisi, subjek film, dll. sehingga membuatnya lebih terkenal.

Jenis dan Properti

Topik tertentu dapat dilihat untuk berbagai perspektif, misalnya:

  • Bob Dylan adalah seorang penulis lagu, penyanyi, penampil, penulis buku, dan aktor film;
  • Leonardo da Vinci adalah seorang pelukis, pematung, ahli anatomi, seorang arsitek, teknisi, ...;
  • Love adalah subjek buku, subjek film, subjek permainan, subjek puisi, ...;
  • Setiap kota merupakan lokasi, kemungkinan merupakan tujuan wisata, dan pemberi kerja pegawai negeri.

Untuk menangkap sifat multifaset ini, kami memperkenalkan konsep jenis di Freebase. Topik di Freebase dapat memiliki sejumlah jenis yang ditetapkan. Topik tentang Bob Dylan diberi beberapa jenis: jenis penulis lagu, jenis komposer musik, jenis artis musik (penyanyi), jenis penulis buku, dll. Setiap jenis memiliki serangkaian properti yang berbeda untuk jenis tersebut. Misalnya,

  • Jenis artis musik berisi properti yang mencantumkan semua album yang diproduksi Bob Dylan serta semua alat musik yang diketahui
  • Jenis penulis buku berisi properti yang mencantumkan semua buku yang ditulis atau diedit oleh Bob Dylan, serta aliran pemikiran atau gerakannya;
  • Jenis perusahaan berisi banyak properti untuk mencantumkan pendiri, anggota dewan perusahaan, perusahaan induk, divisi, karyawan, produk, catatan pendapatan dan laba dari tahun ke tahun, dll.

Dengan demikian, jenis dapat dianggap sebagai penampung konseptual properti yang paling umum diperlukan untuk menjelaskan aspek informasi tertentu. (Anda dapat menganggap jenis sebagai analog dengan tabel relasional, dan setiap tabel "jenis" memiliki kunci asing ke dalam satu tabel "identitas" yang secara unik menentukan setiap topik.)

Domain dan ID

Sama seperti properti yang dikelompokkan ke dalam jenis, jenisnya sendiri dikelompokkan ke dalam domain. Bayangkan domain sebagai bagian di surat kabar favorit Anda: Bisnis, Gaya Hidup, Seni dan Hiburan, Politik, Ekonomi, dll. Setiap domain diberi ID (ID), mis.,

ID domain terlihat seperti jalur file, atau jalur di alamat web.

Setiap jenis juga diberi ID, dan ID-nya didasarkan pada domain tempat ID tersebut berada. Misalnya, jenis Perusahaan termasuk dalam domain Bisnis, dan diberi ID /business/company. Berikut adalah beberapa contoh lainnya:

Sama halnya dengan jenis yang mewarisi awal ID-nya dari domain, properti juga mewarisi awal ID-nya dari jenis yang dimilikinya. Misalnya, properti Industri jenis Perusahaan (digunakan untuk menentukan industri tempat perusahaan tersebut berada) diberi ID /business/company/industry. Berikut adalah beberapa contoh lainnya:

Jadi, meskipun jenis tidak disusun ke dalam hierarki di Freebase; domain, jenis, dan properti diberi ID secara konseptual yang disusun dalam hierarki seperti direktori file.

Jenis Nilai Majemuk

Jenis Nilai Majemuk adalah Jenis di dalam Freebase yang digunakan untuk mewakili data yang setiap entrinya terdiri dari beberapa kolom. Jenis nilai gabungan, atau CVT digunakan di Freebase untuk mewakili data yang kompleks. Awalnya mungkin agak membingungkan, tetapi CVT adalah bagian yang sangat penting dari skema Freebase dan memungkinkannya membuat model hubungan yang kompleks antar-topik dengan lebih akurat.

Pikirkan contoh berikut: Populasi untuk kota adalah sesuatu yang berubah dari waktu ke waktu. Artinya, setiap kali mengajukan kueri Freebase untuk populasi, Anda setidaknya secara implisit meminta populasi pada tanggal tertentu. Ada dua Nilai, yaitu jumlah orang, dan tanggal. Berikut ini situasi di mana CVT menjadi sangat berguna. Jika tidak ada data, untuk memodelkan data populasi, Anda harus membuat topik, lalu menamainya seperti "Populasi Vancouver pada 1997", dan kirimkan informasi di sana.

CVT dapat dianggap sebagai topik yang tidak mengharuskan Anda membuat nama tampilan. Sama seperti topik normal, CVT memiliki GUID yang dapat direferensikan secara terpisah. Namun, klien Freebase memperlakukannya jauh berbeda dengan topik. Dalam sebagian besar kasus, setiap properti CVT harus merupakan properti disambiguasi.

MID Topik

Meskipun topik mungkin dapat atau tidak dapat diidentifikasi oleh ID namespace/kunci, topik selalu dapat diidentifikasi dengan MID — ID Mesin, yang terdiri dari /m/ diikuti dengan ID unik base-32. MID ditetapkan ke topik pada waktu pembuatan, dan dikelola sepanjang masa aktif topik. Mereka memainkan peran penting ketika topik digabung atau terpisah, memungkinkan aplikasi eksternal untuk melacak topik logis meskipun identitas Freebase fisik (GUID topik) dapat berubah. Id yang dihasilkan mesin berbeda dengan ID Freebase yang dapat dibaca manusia (ditampilkan oleh properti "id") karena:

  • Dijamin ada
  • Buatan mesin
  • Didesain untuk mendukung perbandingan offline
  • Tidak didesain untuk menyampaikan makna kepada manusia
  • Pendek (mungkin panjang tetap)
  • Ideal untuk pertukaran kunci secara cepat antara sistem dan komponen eksternal (eksternal, pertukaran)

MID adalah ID yang direkomendasikan untuk digunakan dalam menangani topik di Freebase

Namespace, Kunci, dan ID Topik

Hierarki seperti direktori file dari ID domain, jenis, dan properti hanyalah satu aplikasi dari konsep yang lebih umum: namespaces dan keys. Namespace mirip seperti direktori file, dan kunci seperti nama file. Sama seperti semua nama file dalam direktori file tertentu yang harus unik di antara semua file tersebut, semua kunci dalam namespace tertentu juga harus bersifat unik.

Sebagai contoh yang lebih spesifik, /business adalah namespace yang sesuai dengan domain Bisnis. Di dalamnya, jenis yang terkait dengan Bisnis diberikan kunci (mis., company) yang unik di antara mereka sendiri. Setiap ID jenis dibentuk dengan menambahkan kuncinya ke ID namespace (mis., /business/company).

Ada beberapa jenis namespace di samping namespace yang sesuai dengan domain dan jenis. Yang paling penting dan sering ditemui adalah namespace /en. Ini adalah namespace bahasa Inggris tempat sebagian besar topik terkenal dapat diberi kunci unik untuk membentuk ID bahasa Inggris yang dapat dibaca manusia. Misalnya, Bob Dylan yang produktif sangat terkenal sehingga topiknya di Freebase diberi kunci bob_dylan di namespace /en, sehingga ID topiknya adalah /en/bob_dylan. Dengan ID ini, Anda dapat mengakses topiknya di klien web dengan URL sederhana

Selengkapnya tentang Properti

Konsep dasar terakhir yang akan dibahas mencakup perbedaan utama antara properti Freebase dan analoginya dalam teknologi database relasional, yaitu kolom tabel relasional. Untuk setiap baris, kolom tabel relasional hanya dapat memiliki satu nilai. Misalnya, pertimbangkan tabel relasional "buku" standar dengan kolom bernama "penulis". Untuk setiap baris dalam tabel "buku", kolom "penulis" hanya dapat menyimpan satu kunci asing ke tabel "penulis". Jika suatu buku memiliki beberapa penulis, desain skema relasional sederhana ini tidak akan berfungsi, dan kita harus membuat tabel baru untuk membuat model kepengarangan. Artinya, kita memerlukan satu tabel "buku", satu tabel "penulis", dan satu tabel "kepengarangan" untuk menyimpan hubungan n-to-n antara buku dan penulis. Dan cara Anda mengambil data berubah secara drastis saat Anda beralih dari satu desain skema ke desain lainnya.

Berbeda dengan teknologi database konvensional, Freebase menganggap properti multi-nilai sangat diinginkan dalam memodelkan data kehidupan nyata sehingga mendukung properti multi-nilai secara default. Artinya, saat properti /book/written_work/author dibuat, properti tersebut diasumsikan memungkinkan lebih dari satu penulis per buku, dan Anda dapat membuat kueri untuk properti multi-nilai dan properti dengan nilai tunggal dengan cara yang sama persis. Tidak perlu berpikir jika Anda perlu menggabungkan dengan tabel ketiga yang memodelkan hubungan n-to-n.

Ringkasan

  • Jenis adalah penampung konseptual dari properti terkait yang biasanya diperlukan untuk mendeskripsikan aspek tertentu dari suatu topik.
  • Topik dapat diberi satu atau beberapa jenis (jenis default-nya adalah /common/topic)
  • Saat properti dikelompokkan ke dalam jenis, jenis dikelompokkan ke dalam domain.
  • Domain, jenis, dan properti diberi ID dalam namespace/hierarki kunci.
  • Topik umum yang diketahui diberikan ID dalam namespace /en, yang merupakan string bahasa Inggris yang dapat dibaca manusia.
  • Topik diidentifikasi secara unik dalam Freebase oleh GUID.
  • Properti adalah multi-nilai secara default, dan properti multi-nilai dan properti nilai tunggal dapat dikueri dengan cara yang sama.