Jika Anda baru menggunakan Freebase, bagian ini membahas terminologi dan konsep dasar yang diperlukan untuk memahami cara kerja Freebase.
- Grafik
- Topik
- Jenis dan Properti
- Domain dan ID
- Jenis Nilai Gabungan
- MID Topik
- Namespace, Kunci, dan ID Topik
- Selengkapnya tentang Properti
- Ringkasan
Grafik
Data Freebase disimpan dalam struktur data yang disebut grafik. Grafik terdiri dari node yang terhubung dengan tepi. Di Freebase, node ditentukan menggunakan /type/object dan edge ditentukan menggunakan /type/link. Dengan menyimpan data sebagai grafik, Freebase dapat dengan cepat melintasi koneksi arbitrer antar-topik dan dengan mudah menambahkan skema baru tanpa harus mengubah struktur data.
Topik
Freebase memiliki lebih dari 39 juta topik tentang entitas dunia nyata seperti orang, tempat, dan objek. Karena data Freebase direpresentasikan sebagai grafik, topik ini sesuai dengan node dalam grafik. Namun, tidak setiap node adalah topik. Lihat bagian tentang CVT sebagai contoh node yang bukan topik.
Contoh jenis topik yang ditemukan di Freebase:
- Entitas fisik, misalnya, Bob Dylan, Museum Louvre, planet Saturnus, hingga
- Kreasi artistik/media, misalnya, The Dark Knight (film), Hotel California (lagu), hingga
- Klasifikasi, misalnya, gas mulia, Chordata, hingga
- Konsep abstrak, misalnya, cinta, hingga
- Aliran pemikiran atau gerakan artistik, misalnya, Impresionisme.
Beberapa topik penting karena menyimpan banyak data (misalnya, Wal-Mart), dan beberapa di antaranya penting karena menautkan ke banyak topik lain, yang berpotensi berada di domain informasi yang berbeda. Misalnya, topik abstrak seperti cinta, kemiskinan, kesopanan, dll. tidak memiliki banyak properti yang terkait dengannya, tetapi sering muncul sebagai subjek buku, subjek puisi, subjek film, dll. sehingga menjadikannya lebih terkenal.
Jenis dan Properti
Setiap topik dapat dilihat dari berbagai perspektif yang berbeda, misalnya:
- Bob Dylan adalah penulis lagu, penyanyi, penampil, penulis buku, dan aktor film;
- Leonardo da Vinci adalah seorang pelukis, pematung, ahli anatomi, arsitek, insinyur, ...;
- Cinta adalah subjek buku, subjek film, subjek drama, subjek puisi, ...;
- Setiap kota adalah lokasi, yang berpotensi menjadi tujuan wisata, dan pemberi kerja bagi pegawai negeri.
Untuk mencakup berbagai aspek dari banyak topik ini, kami memperkenalkan konsep jenis di Freebase. Topik di Freebase dapat memiliki sejumlah jenis yang ditetapkan. Topik tentang Bob Dylan ditetapkan ke beberapa jenis: jenis penulis lagu, jenis komposer musik, jenis artis musik (penyanyi), jenis penulis buku, dll. Setiap jenis memiliki serangkaian properti yang relevan dengan jenis tersebut. Misalnya,
- Jenis artis musik berisi properti yang mencantumkan semua album yang diproduksi Bob Dylan serta semua alat musik yang diketahui dimainkannya;
- Jenis penulis buku berisi properti yang mencantumkan semua buku yang ditulis atau diedit Bob Dylan, serta aliran pemikiran atau gerakan menulisnya;
- Jenis perusahaan berisi banyak properti untuk mencantumkan pendiri perusahaan, anggota dewan, perusahaan induk, divisi, karyawan, produk, catatan pendapatan dan laba tahunan, dll.
Dengan demikian, jenis dapat dianggap sebagai penampung konseptual properti yang paling umum diperlukan untuk mendeskripsikan aspek informasi tertentu. (Anda dapat menganggap jenis sebagai analog dengan tabel relasional, dan setiap tabel "jenis" memiliki kunci asing ke satu tabel "identitas" yang secara unik menentukan setiap topik.)
Domain dan ID
Sama seperti properti yang dikelompokkan ke dalam jenis, jenis itu sendiri dikelompokkan ke dalam domain. Anggap saja domain sebagai bagian-bagian dalam koran favorit Anda: Bisnis, Gaya Hidup, Seni dan Hiburan, Politik, Ekonomi, dll. Setiap domain diberi ID (pengenal), misalnya,
/business
adalah ID Domain bisnis/music
- domain Musik/film
- domain Film/medicine
- domain Medicine
ID domain terlihat seperti jalur file, atau jalur di alamat web.
Setiap jenis juga diberi ID, dan ID-nya didasarkan pada domain tempat jenis tersebut berada. Misalnya, Company type termasuk dalam domain Business, dan diberi ID /business/company
. Berikut adalah beberapa contoh lainnya:
/music/album
adalah ID jenis Album (Musik), yang termasuk dalam domain Musik/film/actor
- jenis Aktor dalam domain Film/medicine/disease
- jenis Penyakit dalam domain Obat-obatan
Sama seperti jenis yang mewarisi awal ID-nya dari domainnya, properti juga mewarisi awal ID-nya dari jenis yang menjadi induknya. Misalnya, properti Industri dari jenis Perusahaan (digunakan untuk menentukan industri perusahaan) diberi ID /business/company/industry
. Berikut adalah beberapa contoh lainnya:
/automotive/engine/horsepower
adalah ID properti Horsepower dari jenis Engine (Otomotif)/astronomy/star/planet_s
adalah ID properti Planets dari jenis Star (digunakan untuk mencantumkan planet di sekitar bintang)/language/human_language/writing_system
adalah ID properti Sistem Penulisan dari jenis Bahasa Manusia
Jadi, meskipun jenis tidak diatur ke dalam hierarki di Freebase; domain, jenis, dan properti diberi ID yang secara konseptual diatur dalam hierarki seperti direktori file.
Jenis Nilai Gabungan
Jenis Nilai Gabungan adalah Jenis dalam Freebase yang digunakan untuk merepresentasikan data yang setiap entri terdiri dari beberapa kolom. Jenis nilai gabungan, atau CVT, digunakan di Freebase untuk merepresentasikan data kompleks. Awalnya mungkin sedikit membingungkan, tetapi CVT adalah bagian yang sangat penting dari skema Freebase dan memungkinkannya memodelkan hubungan kompleks antar-topik secara lebih akurat.
Pertimbangkan contoh berikut: Populasi kota adalah sesuatu yang berubah seiring waktu. Artinya, setiap kali Anda membuat kueri Freebase untuk populasi, Anda setidaknya secara implisit meminta populasi pada tanggal tertentu. Dua Nilai yang terlibat, sejumlah orang, dan tanggal. Berikut situasi saat CVT menjadi sangat berguna. Tanpa satu pun, untuk membuat model data populasi, Anda harus membuat topik, dan menamainya seperti "Populasi Vancouver pada tahun 1997", lalu mengirimkan informasi di sana.
CVT dapat dianggap sebagai topik yang tidak mengharuskan Anda membuat nama tampilan. CVT, seperti topik normal, memiliki GUID yang dapat dirujuk secara terpisah. Namun, klien Freebase memperlakukannya dengan cara yang sangat berbeda dengan topik. Biasanya, setiap properti CVT harus berupa properti disambiguasi.
MID Topik
Meskipun topik dapat atau tidak dapat diidentifikasi berdasarkan ID namespace/kunci, topik selalu dapat diidentifikasi dengan MID — ID Mesin, yang terdiri dari /m/
yang diikuti dengan ID unik base-32. MID ditetapkan ke topik pada waktu pembuatan, dan dikelola sepanjang masa aktif topik. ID ini memainkan peran penting saat topik digabungkan atau dipisahkan, sehingga aplikasi eksternal dapat melacak topik logis meskipun identitas Freebase fisik (GUID topik) dapat berubah. ID yang dibuat oleh mesin berbeda dari ID Freebase lain yang dapat dibaca oleh manusia (yang ditampilkan oleh properti "id") karena:
- Dijamin ada
- Dibuat mesin
- Didesain untuk mendukung perbandingan offline
- Tidak dirancang untuk menyampaikan makna kepada manusia
- Pendek (kemungkinan panjang tetap)
- Ideal untuk pertukaran kunci yang cepat antara sistem dan komponen eksternal (eksternal, pertukaran)
MID adalah ID yang direkomendasikan untuk digunakan dalam membahas topik di Freebase
Namespace, Kunci, dan ID Topik
Hierarki seperti direktori file yang terdiri dari ID domain, jenis, dan properti hanyalah salah satu penerapan konsep yang lebih umum: namespace dan kunci. Namespace seperti direktori file, dan kunci seperti nama file. Sama seperti semua nama file dalam direktori file tertentu harus unik, semua kunci dalam namespace tertentu juga harus unik.
Sebagai contoh yang lebih spesifik, /business
adalah namespace yang sesuai dengan domain Bisnis. Di dalamnya, jenis terkait Bisnis diberi kunci (misalnya, company
) yang unik di antara satu sama lain. ID setiap jenis dibentuk dengan menambahkan kuncinya ke ID namespace (misalnya, /business/company
).
Ada beberapa jenis namespace selain 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 mudah dibaca. Misalnya, Bob Dylan yang sangat produktif sangat terkenal sehingga topiknya di Freebase diberi kunci bob_dylan
di namespace /en
, dan dengan demikian ID topik tersebut adalah /en/bob_dylan
. ID ini memungkinkan Anda mengakses topiknya di klien web dengan URL sederhana
Selengkapnya tentang Properti
Konsep dasar terakhir yang akan dibahas melibatkan perbedaan besar antara properti Freebase dan analoginya dalam teknologi database relasional, yaitu kolom tabel relasional. Untuk setiap baris, kolom tabel relasional hanya dapat menyimpan satu nilai. Misalnya, pertimbangkan tabel relasional "buku" standar dengan kolom bernama "penulis". Untuk setiap baris dalam tabel "book", kolom "author" hanya dapat menyimpan satu kunci asing ke tabel "author". Jika sebuah buku memiliki beberapa penulis, desain skema relasional sederhana ini tidak berfungsi, dan kita harus membuat tabel baru untuk memodelkan kepenulisan. Artinya, kita memerlukan satu tabel "buku", satu tabel "penulis", dan satu tabel "penulisan" untuk menyimpan hubungan n-ke-n antara buku dan penulis. Selain itu, cara Anda mengambil data akan berubah secara drastis saat Anda beralih dari satu desain skema ke desain skema lainnya.
Berbeda dengan teknologi database konvensional, Freebase menganggap properti multinilai sangat diinginkan dalam memodelkan data kehidupan nyata sehingga mendukung properti multinilai secara default. Artinya, saat properti /book/written_work/author
dibuat, diasumsikan bahwa properti tersebut memungkinkan beberapa penulis per buku, dan Anda dapat membuat kueri untuk properti multinilai dan properti bernilai tunggal dengan cara yang sama persis. Anda tidak perlu berpikir apakah Anda perlu menggabungkan dengan tabel ketiga yang memodelkan hubungan n-ke-n.
Ringkasan
- Jenis adalah penampung konseptual dari properti terkait yang umumnya diperlukan untuk mendeskripsikan aspek tertentu dari suatu topik.
- Topik dapat diberi satu atau beberapa jenis (jenis defaultnya adalah
/common/topic
) - Saat properti dikelompokkan ke dalam jenis, jenis dikelompokkan ke dalam domain.
- Domain, jenis, dan properti diberi ID dalam hierarki namespace/kunci.
- Topik umum yang terkenal diberi ID di namespace
/en
, yang merupakan string bahasa Inggris yang dapat dibaca manusia. - Topik diidentifikasi secara unik dalam Freebase oleh GUID.
- Properti secara default memiliki beberapa nilai, dan properti dengan beberapa nilai serta properti dengan satu nilai dapat dikueri dengan cara yang sama.