Nếu bạn mới làm quen với Freebase, thì phần này sẽ trình bày các thuật ngữ và khái niệm cơ bản cần thiết để hiểu cách Freebase hoạt động.
- Biểu đồ
- Chủ đề
- Các loại và thuộc tính
- Miền và mã nhận dạng
- Loại giá trị kết hợp
- MID của chủ đề
- Vùng chứa tên, khoá và mã nhận dạng chủ đề
- Thông tin khác về tài sản
- Tóm tắt
Biểu đồ
Dữ liệu Freebase được lưu trữ trong một cấu trúc dữ liệu gọi là đồ thị. Biểu đồ bao gồm các nút được kết nối bằng các cạnh. Trong Freebase, các nút được xác định bằng /type/object và các cạnh được xác định bằng /type/link. Bằng cách lưu trữ dữ liệu dưới dạng biểu đồ, Freebase có thể nhanh chóng duyệt qua các mối kết nối tuỳ ý giữa các chủ đề và dễ dàng thêm giản đồ mới mà không cần phải thay đổi cấu trúc của dữ liệu.
Chủ đề
Freebase có hơn 39 triệu chủ đề về các thực thể trong thế giới thực như con người, địa điểm và sự vật. Vì dữ liệu Freebase được biểu thị bằng một biểu đồ, nên những chủ đề này tương ứng với các nút trong biểu đồ. Tuy nhiên, không phải nút nào cũng là một chủ đề. Hãy xem phần về CVT làm ví dụ về các nút không phải là chủ đề.
Ví dụ về các loại chủ đề có trong Freebase:
- Thực thể vật lý, ví dụ: Bob Dylan, Bảo tàng Louvre, hành tinh Thổ Tinh,
- Tác phẩm sáng tạo nghệ thuật/đa phương tiện, ví dụ: The Dark Knight (phim), Hotel California (bài hát), đến
- Phân loại, ví dụ: khí hiếm, Động vật có dây sống, đến
- Khái niệm trừu tượng, ví dụ: tình yêu, đến
- Trường phái tư tưởng hoặc phong trào nghệ thuật, ví dụ: Trường phái ấn tượng.
Một số chủ đề đáng chú ý vì chứa nhiều dữ liệu (ví dụ: Wal-Mart) và một số chủ đề đáng chú ý vì chúng liên kết đến nhiều chủ đề khác, có thể thuộc nhiều lĩnh vực thông tin. Ví dụ: các chủ đề trừu tượng như tình yêu, nghèo đói, tinh thần hiệp sĩ, v.v. không có nhiều thuộc tính liên quan nhưng chúng thường xuất hiện dưới dạng chủ đề của sách, chủ đề của thơ, chủ đề của phim, v.v., khiến chúng trở nên đáng chú ý hơn.
Loại và thuộc tính
Mọi chủ đề đều có thể được xem xét dưới nhiều góc độ, ví dụ:
- Bob Dylan là một nhà sáng tác nhạc, ca sĩ, nghệ sĩ biểu diễn, tác giả sách và diễn viên điện ảnh;
- Leonardo da Vinci là một hoạ sĩ, nhà điêu khắc, nhà giải phẫu học, kiến trúc sư, kỹ sư, ...;
- Tình yêu là chủ đề của sách, phim, kịch, thơ, ...;
- Mọi thành phố đều là một địa điểm, có thể là một điểm đến du lịch và là nơi tuyển dụng công chức.
Để nắm bắt được tính chất đa dạng của nhiều chủ đề, chúng tôi giới thiệu khái niệm về các loại trong Freebase. Các chủ đề trong Freebase có thể được chỉ định số lượng loại bất kỳ. Chủ đề về Bob Dylan được chỉ định một số loại: loại nhà sáng tác bài hát, loại nhà soạn nhạc, loại nghệ sĩ âm nhạc (ca sĩ), loại tác giả sách, v.v. Mỗi loại có một bộ thuộc tính riêng phù hợp với loại đó. Ví dụ:
- Loại nghệ sĩ âm nhạc chứa một thuộc tính liệt kê tất cả đĩa nhạc mà Bob Dylan đã sản xuất cũng như tất cả nhạc cụ mà ông từng chơi;
- Loại tác giả sách chứa một thuộc tính liệt kê tất cả những cuốn sách mà Bob Dylan đã viết hoặc biên tập, cũng như trường phái hoặc phong trào viết của ông;
- Loại công ty chứa nhiều thuộc tính để liệt kê người sáng lập, thành viên hội đồng quản trị, công ty mẹ, các bộ phận, nhân viên, sản phẩm, hồ sơ doanh thu và lợi nhuận theo từng năm, v.v. của một công ty.
Do đó, bạn có thể coi loại là một vùng chứa khái niệm của các thuộc tính thường cần thiết nhất để mô tả một khía cạnh cụ thể của thông tin. (Bạn có thể coi một loại tương tự như một bảng quan hệ và mỗi bảng "loại" có một khoá ngoại trong bảng "danh tính" duy nhất xác định từng chủ đề.)
Miền và mã nhận dạng
Cũng giống như các tài sản được nhóm thành các loại, bản thân các loại cũng được nhóm thành miền. Hãy coi các miền là các phần trong tờ báo mà bạn yêu thích: Kinh doanh, Phong cách sống, Nghệ thuật và giải trí, Chính trị, Kinh tế, v.v. Mỗi miền được gán một mã nhận dạng, ví dụ:
/business
là mã nhận dạng của miền Doanh nghiệp/music
– miền Âm nhạc/film
– miền Phim/medicine
– miền Y học
Mã nhận dạng của một miền trông giống như một đường dẫn tệp hoặc một đường dẫn trong địa chỉ web.
Mỗi loại cũng được chỉ định một mã nhận dạng và mã nhận dạng đó dựa trên miền mà loại đó thuộc về. Ví dụ: Loại công ty thuộc miền Doanh nghiệp và được chỉ định mã nhận dạng /business/company
. Sau đây là một số ví dụ khác:
/music/album
là mã nhận dạng của loại Đĩa nhạc (Music), thuộc miền Âm nhạc/film/actor
– kiểu Người thực hiện trong miền Phim/medicine/disease
– loại Bệnh trong miền Y học
Cũng giống như một loại kế thừa phần đầu của mã nhận dạng từ miền của loại đó, một tài sản cũng kế thừa phần đầu của mã nhận dạng từ loại mà tài sản đó thuộc về. Ví dụ: Thuộc tính Ngành của loại Công ty (được dùng để chỉ định ngành mà một công ty hoạt động) được chỉ định mã nhận dạng /business/company/industry
. Sau đây là một số ví dụ khác:
/automotive/engine/horsepower
là mã nhận dạng của thuộc tính Mã lực thuộc loại Động cơ (Ô tô)/astronomy/star/planet_s
là mã nhận dạng của thuộc tính Planets thuộc loại Star (dùng để liệt kê các hành tinh xung quanh một ngôi sao)/language/human_language/writing_system
là mã nhận dạng của thuộc tính Hệ thống chữ viết thuộc loại Ngôn ngữ của con người
Do đó, mặc dù các loại không được sắp xếp theo hệ phân cấp trong Freebase, nhưng các miền, loại và thuộc tính được gán mã nhận dạng theo khái niệm được sắp xếp theo hệ phân cấp giống như thư mục tệp.
Các loại giá trị hợp chất
Loại giá trị kết hợp là một Loại trong Freebase, được dùng để biểu thị dữ liệu trong đó mỗi mục bao gồm nhiều trường. Các loại giá trị kết hợp (CVT) được dùng trong Freebase để biểu thị dữ liệu phức tạp. Ban đầu, bạn có thể thấy hơi khó hiểu, nhưng CVT là một phần rất quan trọng trong giản đồ Freebase và cho phép giản đồ này mô hình hoá chính xác hơn các mối quan hệ phức tạp giữa các chủ đề.
Hãy xem xét ví dụ sau: Dân số của một thành phố là một yếu tố thay đổi theo thời gian. Điều đó có nghĩa là bất cứ khi nào bạn truy vấn Freebase về dân số, bạn ít nhất cũng đang ngầm yêu cầu dân số tại một ngày nhất định. Có hai giá trị liên quan, đó là số người và ngày. Sau đây là một tình huống mà CVT trở nên cực kỳ hữu ích. Nếu không có một chủ đề như vậy, để lập mô hình dữ liệu dân số, bạn cần tạo một chủ đề và đặt tên cho chủ đề đó, chẳng hạn như "Dân số Vancouver năm 1997", rồi gửi thông tin tại đó.
CVT có thể được coi là một chủ đề không yêu cầu bạn đặt tên hiển thị. Giống như các chủ đề thông thường, CVT có một GUID mà bạn có thể tham chiếu một cách độc lập. Tuy nhiên, ứng dụng Freebase lại xử lý các đối tượng này khác với chủ đề. Trong hầu hết các trường hợp, mọi thuộc tính của CVT đều phải là một thuộc tính phân biệt.
MID của chủ đề
Mặc dù có thể xác định hoặc không xác định được một chủ đề bằng mã nhận dạng không gian tên/khoá, nhưng bạn luôn có thể xác định chủ đề đó bằng một MID (Giá trị nhận dạng máy), bao gồm /m/
theo sau là một giá trị nhận dạng duy nhất theo cơ số 32. MID được chỉ định cho các chủ đề tại thời điểm tạo và được quản lý trong suốt thời gian tồn tại của chủ đề. Chúng đóng vai trò quan trọng khi các chủ đề được hợp nhất hoặc tách ra, cho phép các ứng dụng bên ngoài theo dõi chủ đề logic ngay cả khi danh tính thực tế của Freebase (GUID của chủ đề) có thể thay đổi. Mã nhận dạng do máy tạo khác với mã nhận dạng Freebase khác mà con người có thể đọc được (do thuộc tính "id" trả về) ở chỗ:
- Đảm bảo tồn tại
- Do máy tạo
- Được thiết kế để hỗ trợ so sánh ngoại tuyến
- Không được thiết kế để truyền tải ý nghĩa cho con người
- Ngắn (có thể có độ dài cố định)
- Lý tưởng để trao đổi khoá nhanh giữa các hệ thống và thành phần bên ngoài (bên ngoài, trao đổi)
MID là giá trị nhận dạng nên dùng để đề cập đến các chủ đề trong Freebase
Không gian tên, khoá và mã nhận dạng chủ đề
Hệ thống phân cấp giống như thư mục tệp của miền, loại và mã nhận dạng tài sản chỉ là một ứng dụng của một khái niệm chung hơn: không gian tên và khoá. Không gian tên giống như một thư mục tệp và khoá giống như một tên tệp. Giống như tất cả tên tệp trong một thư mục tệp cụ thể phải là duy nhất, tất cả các khoá trong một không gian tên cụ thể cũng phải là duy nhất.
Ví dụ cụ thể hơn, /business
là không gian tên tương ứng với miền Doanh nghiệp. Trong đó, các loại liên quan đến doanh nghiệp được cấp khoá (ví dụ: company
) và không trùng lặp với nhau. Mã nhận dạng của mỗi loại được tạo bằng cách thêm khoá của loại đó vào mã nhận dạng của không gian tên (ví dụ: /business/company
).
Ngoài các không gian tên tương ứng với miền và loại, còn có một số loại không gian tên khác. Không gian tên quan trọng nhất và thường gặp nhất là /en
. Đây là không gian tên tiếng Anh, trong đó hầu hết các chủ đề nổi tiếng đều có thể được gán các khoá riêng biệt để tạo thành mã nhận dạng tiếng Anh mà con người có thể đọc được. Ví dụ: Bob Dylan là một nghệ sĩ nổi tiếng đến mức chủ đề của ông trong Freebase được gán khoá bob_dylan
trong không gian tên /en
, do đó, mã nhận dạng của chủ đề là /en/bob_dylan
. Mã nhận dạng này cho phép bạn truy cập vào chủ đề của anh ấy trong ứng dụng web bằng URL đơn giản
Xem thêm về Thuộc tính
Khái niệm cơ bản cuối cùng cần thảo luận liên quan đến một điểm khác biệt lớn giữa các thuộc tính Freebase và điểm tương đồng của chúng trong công nghệ cơ sở dữ liệu quan hệ, cụ thể là các cột trong bảng quan hệ. Đối với mỗi hàng, một cột bảng quan hệ chỉ có thể giữ một giá trị. Ví dụ: hãy xem xét một bảng quan hệ "sách" thông thường có một cột tên là "tác giả". Đối với mỗi hàng trong bảng "book", cột "author" chỉ có thể chứa một khoá ngoại cho bảng "author". Nếu một cuốn sách có nhiều tác giả, thì thiết kế giản đồ quan hệ đơn giản này sẽ không hoạt động và chúng ta sẽ phải tạo một bảng mới để mô hình hoá quyền tác giả. Tức là chúng ta sẽ cần một bảng "book", một bảng "author" và một bảng "authorship" để lưu trữ mối quan hệ n-n giữa sách và tác giả. Và cách bạn truy xuất dữ liệu sẽ thay đổi khá nhiều khi bạn chuyển từ thiết kế giản đồ này sang thiết kế giản đồ khác.
Ngược lại với các công nghệ cơ sở dữ liệu thông thường, Freebase coi các thuộc tính có nhiều giá trị là rất cần thiết trong việc mô hình hoá dữ liệu thực tế đến mức mặc định hỗ trợ các thuộc tính có nhiều giá trị. Tức là khi thuộc tính /book/written_work/author
được tạo, hệ thống giả định rằng thuộc tính này cho phép mỗi cuốn sách có nhiều tác giả và bạn có thể truy vấn thuộc tính có nhiều giá trị và thuộc tính có một giá trị theo cách hoàn toàn giống nhau. Bạn không cần phải suy nghĩ xem có cần kết hợp với bảng thứ ba mô hình mối quan hệ n-n hay không.
Tóm tắt
- Loại là một vùng chứa khái niệm gồm các thuộc tính liên quan thường cần thiết để mô tả một khía cạnh nhất định của một chủ đề.
- Bạn có thể chỉ định một hoặc nhiều loại cho một chủ đề (loại mặc định là
/common/topic
) - Khi các thuộc tính được nhóm thành các loại, các loại sẽ được nhóm thành các miền.
- Miền, loại và thuộc tính được chỉ định mã nhận dạng trong một hệ thống phân cấp không gian tên/khoá.
- Các chủ đề phổ biến, nổi tiếng được cấp mã nhận dạng trong vùng chứa tên
/en
, là các chuỗi tiếng Anh mà con người có thể đọc được. - Các chủ đề được xác định duy nhất trong Freebase bằng GUID.
- Theo mặc định, các thuộc tính có nhiều giá trị và bạn có thể truy vấn các thuộc tính có nhiều giá trị và thuộc tính có một giá trị theo cùng một cách.