Wikipedia:Dữ liệu nhân vật
Bách khoa toàn thư mở Wikipedia
Dữ liệu nhân vật là siêu dữ liệu để thêm vào mục nhân vật. Siêu dữ liệu này có thể được trích ra và phân tích tự động (khác với nội dung thường ở Wikipedia). Nó bao gồm tập hợp dữ liệu chuẩn chứa thông tin cơ bản về nhân vật, thí dụ tên, ngày sinh, nơi sinh, v.v. Sau khi được phân tích, siêu dữ liệu này có thể được sử dụng trong chức năng tìm kiếm nâng cao (thí dụ ở Google), phân tích thống kê, xếp thể loại tự động, và danh sách người sinh trong mục ngày. Bảng dữ liệu nhân vật không thay đổi bài viết đối với độc giả, tại vì nó bị giấu đi theo mặc định, người dùng phải sửa tập tin định kiểu cá nhân để hiển thị bảng này.
Vào ngày 12 tháng 6 năm 2006, dự án gắn bảng dữ liệu nhân vật mới bắt đầu, nên chỉ 153 bài có bảng này ở Wikipedia tiếng Việt. Tuy nhiên, vào ngày 11 tháng 6, Wikipedia tiếng Anh có vào khoảng 4.000 bài được bảng này, và Wikipedia tiếng Đức có hơn 100.000 bài như vậy. Chúng ta mong là mai mốt hệ thống này sẽ thay cho tiêu bản {{Thời gian sống}} hiện có, nhưng bây giờ vẫn phải sử dụng tiêu bản đó để xếp bài vào thể loại.
Mục lục |
[sửa] Cách sử dụng bảng
Để sử dụng bảng {{Dữ liệu nhân vật}}, hãy chép mã nguồn ở dưới vào cuối mục nhân vật, chẳng hạn ngay trước các dòng thể loại và liên kết liên wiki.
{{Dữ liệu nhân vật |TÊN= |TÊN KHÁC= |TÓM TẮT= |LÚC SINH= |NƠI SINH= |LÚC MẤT= |NƠI MẤT= }}
Hoặc bằng tiếng Anh (chỉ được hỗ trợ tạm thời):
{{Persondata |NAME= |ALTERNATIVE NAMES= |SHORT DESCRIPTION= |DATE OF BIRTH= |PLACE OF BIRTH= |DATE OF DEATH= |PLACE OF DEATH= }}
Lưu ý là các tham số phải được viết bằng chữ hoa, để dễ phân tích mã nguồn hơn.
Xong thì điền các trường dữ liệu. Xin làm chắc chắn là các tên phương Tây được viết với họ đằng trước (giống khi xếp thể loại). Đừng dời những dòng không có thông tin: nếu người trong bài vẫn còn sống, xin để hai dòng trống LÚC MẤT
và NƠI MẤT
(hay DATE OF DEATH
và PLACE OF DEATH
). Đây là thí dụ bảng được điền chính xác:
{{Dữ liệu nhân vật |TÊN=Magellan, Ferdinand |TÊN KHÁC=Magalhães, Fernão de (tiếng Bồ Đào Nha); Magallanes, Fernando de (tiếng Tây Ban Nha); Magallanes, Hernando de (tiếng Tây Ban Nha) |TÓM TẮT=nhà thám hiểm đường biển hàng hải |LÚC SINH=mùa xuân năm [[1480]] |NƠI SINH=[[Sabrosa]], [[Bồ Đào Nha]] |LÚC MẤT=[[27 tháng 4]], [[1521]] |NƠI MẤT=[[Đảo Mactan]], [[Cebu]], [[Philippines]] }}
[sửa] Hiển thị bảng
Bảng dữ liệu nhân vật được giấu khỏi độc giả theo mặc định. Để hiển thị nó, cần phải sửa đổi tập tin định kiểu cá nhân. Bạn phải đăng nhập trước tiên, rồi tạo ra tập tin định kiểu của bạn và cộng thêm mã nguồn ở dưới:
table.metadata {display: block;} table.metadata {display: table;}
Nếu bạn coi được bảng ngay bên dưới về Ferdinand Magellan, bạn đã hiển thị bảng dữ liệu nhân vật.
Dữ liệu nhân vật | |
---|---|
Tên | Magellan, Ferdinand |
Tên khác | Magalhães, Fernão de (tiếng Bồ Đào Nha); Magallanes, Fernando de (tiếng Tây Ban Nha); Magallanes, Hernando de (tiếng Tây Ban Nha) |
Tóm tắt | Nhà thám hiểm đường biển hàng hải |
Lúc sinh | Mùa xuân năm 1480 |
Nơi sinh | Sabrosa, Bồ Đào Nha |
Lúc mất | 27 tháng 4, 1521 |
Nơi mất | Đảo Mactan, Cebu, Philippines |
Để giấu bảng này lại, chỉ việc dời dòng mã nguồn ở trên khỏi tập tin định kiểu.
[sửa] Trường dữ liệu
Các trường dữ liệu TÊN
, TÊN KHÁC
, TÓM TẮT
, LÚC SINH
, NƠI SINH
, LÚC MẤT
, và NƠI MẤT
được sử dụng để xây một hồ sơ về nhân vật. Tập hợp dữ liệu này có thể được mở rộng mai mốt:
Trường dữ liệu | Thí dụ |
---|---|
TÊN |
Magellan, Ferdinand |
TÊN KHÁC |
Magalhães, Fernão de (tiếng Bồ Đào Nha); Magallanes, Fernando de (tiếng Tây Ban Nha) |
TÓM TẮT |
nhà thám hiểm hàng hải |
LÚC SINH |
1480 |
NƠI SINH |
Sabrosa, Bồ Đào Nha |
LÚC MẤT |
27 tháng 4, 1521 |
NƠI MẤT |
Đảo Mactan, Cebu, Philippines |
Hiện không cần thiết các liên kết nội bộ trong bảng dữ liệu, nhưng có thể hữu ích vào tương lai. Xin đừng bắt đầu các giá trị với chữ hoa (trừ khi từ đầu tiên là danh từ riêng hay từ chữ đầu), để các chương trình ứng dụng sẽ có thể phân biệt giữa danh từ chung và danh từ riêng, chẳng hạn để bỏ các giá trị này trong câu. Tiêu bản này sẽ tự động đổi thành chữ hoa khi hiển thị bài.
[sửa] Tên
Khi đưa vào tên của nhân vật có tên phương Tây, sử dụng định dạng này: [họ], [tên] [các tên lót], [hậu tố]. Thường định dạng này dễ hiểu, thí dụ George W. Bush ("George Walker Bush") là "Bush, George Walker". Tuy nhiên, có lúc khi sẽ khó chọn họ. Khi không biết rõ, cố gắng nhớ cách mà một từ điển in trên giấy sẽ xếp tên này. Chẳng hạn Ludwig van Beethoven được xếp theo "Beethoven", trong khi Townes Van Zandt được xếp theo "Van Zandt". (Đây là một lý do phải đừng phân biệt chữ hoa và chữ thường trong các giá trị của bảng này.) Ngoài ra, các tên Tây Ban Nha và Mỹ Latinh thường có tên họ nhiều phần, nhưng phải xếp theo phần đầu của tên họ: Vicente Fox ("Vicente Fox Quesada") là "Fox Quesada, Vicente". Nếu bạn chưa chắc chắn về điều này, nên hỏi một người đã quen về nhân vật này hay một người quen với văn hóa đó, hoặc tra cứu một hướng dẫn danh mục như là AACR2.
Thường đưa vào tên đầy đủ của nhân vật thì tốt, để các tên giống nhau không bị mâu thuẫn. Tuy nhiên, đừng bao gồm các từ xưng hô (như là "Bác", "TS", "GS", "Dr.", "Prof.", hay "PhD"), và thường chỉ nên đưa danh hiệu vào trường TÓM TẮT
(hay TÊN KHÁC
nếu danh hiệu đó rất dứt khoát, thí dụ bao gồm thứ tự).
[sửa] Ngày tháng
Hãy đưa vào thông tin ngày tháng theo định dạng [[x tháng y]], [[zzzz]]
. Xin sử dụng lịch Gregory (thay vì âm lịch hay lịch Julian). Nếu năm sinh/mất trong âm lịch có quan trọng, hãy theo định dạng [[x tháng y]], [[zzzz]] (năm [[A B]])
. Nếu ngày tháng bị tranh luận, hãy bỏ dấu hỏi đằng sau như [[x tháng y]]?, [[zzzz]]
(nếu ngày hay tháng bị tranh luận) hay như [[x tháng y]], [[zzzz]]?
(nếu cả năm bị tranh luận).
Nếu đã đưa vào nơi sinh/mất, hãy sử dụng giờ địa phương nếu có thể; không có thì hãy sử dụng Giờ phối hợp quốc tế.
[sửa] Địa danh
Hãy đưa vào thông tin đầy đủ của nơi sinh và mất (nếu có), thí dụ làng Kim Liên sẽ được đưa vào là "làng Kim Liên, xã Kim Liên, huyện Nam Đàn, tỉnh Nghệ An, Việt Nam". Với những nước không bao gồm những tên cấp ("quận", "tỉnh", "bang") trong địa chỉ, không cần đưa tên cấp vào.
Giữ những địa danh của thời nhân vật. Alexandre de Rhodes mất tại "Ispahan, Ba Tư", chứ không phải "Ispahan, Iran", tại vì nước đó chưa đổi tên thành Iran vào thời của Alexandre de Rhodes.
[sửa] Mục đích
Nếu không có định dạng chuẩn thì khó lấy thông tin hữu ích từ các mục nhân vật, và cũng không thể tự động xếp các bài nhân vật theo chữ cái, tại vì các tên phương Tây thường bắt đầu với tên cá nhân. Sau khi thêm siêu dữ liệu chuẩn vào các bài này, chúng ta có thể ứng dụng thông tin ở Wikipedia cho nhiều sản phẩm khác, như là Wikipedia trên CD-ROM, công cụ tìm kiếm chuyên về Wikipedia, v.v., và cũng có thể ứng dụng thông tin này để bổ sung các mục năm, mục ngày, và bài địa danh liên quan. Bảng này cũng có thể làm tờ phiếu để học sinh học nhanh. Mong là chức năng này chỉ là một trong nhiều bước để cải tiến Wikipedia với nội dung có ngữ nghĩa.
[sửa] Cách trích ra dữ liệu
[sửa] Trích ra dùng Python
Có thể dùng khuôn khổ pywikipediabot (bằng Python) để tìm kiếm các bài dùng tiêu bản Dữ liệu nhân vật,[1] lấy nội dung,[2], và lọc thông tin giữa {{Dữ liệu nhân vật |
và }}
.
[sửa] Trích ra từ cơ sở dữ liệu SQL
Dùng truy vấn SQL, có thể lọc ra dữ liệu nhân vật khỏi những bài Wikipedia được lưu giữ trong cơ sở dữ liệu. Cho thí dụ, đây là truy vấn SQL có thể dùng để trích dữ liệu nhân vật từ wikisign.org:
SELECT pages.cur_namespace, pages.cur_title, SUBSTRING(SUBSTRING(pages.cur_text FROM INSTR(pages.cur_text,'{{Dữ liệu nhân vật')), 1, INSTR(SUBSTRING(pages.cur_text FROM INSTR(pages.cur_text,'{{Dữ liệu nhân vật')),'}}')+1) AS 'Dữ liệu nhân vật' FROM cur AS pd JOIN templatelinks AS tl ON pd.cur_namespace = tl.tl_namespace AND pd.cur_title = tl.tl_title JOIN cur AS pages ON tl.tl_from = pages.cur_id AND pages.cur_namespace = 0 WHERE pd.cur_namespace = 10 AND pd.cur_title = 'Dữ liệu nhân vật'
Để trích các bài gọi tiêu bản {{Persondata}} hay {{Personendaten}} (cả hai đổi hướng đến {{Dữ liệu nhân vật}}), đổi hai cái "Dữ liệu nhân vật" đầu tiên thành "Persondata" hay "Personendaten". Trước khi có thể sử dụng dữ liệu trong bảng này, mã nguồn phải được phân tách tiếp.
[sửa] Trích ra từ tập tin XML
Cũng có thể lấy dữ liệu từ tập tin XML, chắc dùng XQuery, nhưng chưa có người nào viết ra mã để làm theo cách này.
Để giúp bạn, hiện có mã nguồn Dữ liệu nhân vật được rút ra khỏi Wikipedia tiếng Đức, và một script để rút dữ liệu này ra khỏi XML dump. Sau khi biến đổi nó, dữ liệu được nạp vào cơ sở dữ liệu (để ứng dụng phương pháp Rút, biến đổi, nạp). Bạn có thể sử dụng các script này:
- Extract – kẹp ba script STX (Streaming Transformations for XML) vào dấu "
|
" để rút ra các tiêu bản Dữ liệu nhân vật- addNamespaces.stx
- extractPersonendaten.stx – phải đổi "Personendaten" thành "Dữ liệu nhân vật" hay "Persondata" (tùy ngôn ngữ) trong mã nguồn của script này
- pd2tab.stx – phải đổi các tên tham số trong script này
- Transform – cần được viết lại cho Wikipedia tiếng Việt
- load.pl – phải tạo ra cơ sở dữ liệu MySQL trước
- Full ETL-Process – chạy các script kia