Hướng dẫn cho nhà phát triển DSPL

DSPL là viết tắt của Dataset Publishing Language (Ngôn ngữ xuất bản dữ liệu). Đây là định dạng trình bày cho cả siêu dữ liệu (thông tin về tập dữ liệu, chẳng hạn như tên và nhà cung cấp, cũng như các khái niệm trong tên và hiển thị) và dữ liệu thực tế của tập dữ liệu. Tập dữ liệu được mô tả ở định dạng này có thể là được nhập vào Dữ liệu công khai của Google Explorer, một công cụ cho phép khám phá trực quan .

Lưu ý: Để tải dữ liệu lên Google Public Data bằng cách sử dụng công cụ tải dữ liệu công khai lên, bạn phải có Tài khoản Google.

Tài liệu này dành cho những chủ sở hữu dữ liệu muốn nội dung của mình có sẵn trong Public Data Explorer. Không chỉ dừng lại ở Hướng dẫn, bạn còn có thể tìm hiểu kỹ hơn thông tin chi tiết về giản đồ DSPL và các tính năng được hỗ trợ. Chỉ là quen thuộc cơ bản XML được giả định, mặc dù kiến thức về cơ sở dữ liệu quan hệ cũng được hữu ích.

Mặc dù không bắt buộc nhưng bạn nên đọc qua phần Hướng dẫn. Hướng dẫn này ngắn hơn và trước khi xem tài liệu này.

Tổng quan

Tập dữ liệu DSPL là một tệp .zip chứa một tệp XML và một tập hợp CSV tệp. Tệp CSV là các bảng đơn giản chứa dữ liệu của tập dữ liệu, còn tệp XML mô tả siêu dữ liệu của tập dữ liệu. Chính sách quyền riêng tư bao gồm siêu dữ liệu thông tin như nội dung mô tả về các chỉ số đo lường, cũng như siêu dữ liệu có cấu trúc như tệp tham chiếu giữa các bảng. Siêu dữ liệu này cho phép người dùng không phải chuyên gia khám phá và trực quan hoá dữ liệu của bạn.

Quy trình

Nói chung, quy trình tạo tập dữ liệu DSPL diễn ra như sau (một số các bước có thể diễn ra song song):

  1. Tạo tệp XML DSPL.
  2. Xác định mọi nguồn dữ liệu bên ngoài để sử dụng trong tập dữ liệu.
  3. Xác định khái niệm, các lát cắt và chủ đề (không bắt buộc) của bạn. Lặp lại cập nhật nội dung của tệp DSPL.
  4. Xuất dữ liệu nguồn sang tệp .csv.
  5. Tạo tập dữ liệu DSPL.
  6. Gửi tập dữ liệu cho Google.

Cấu trúc XML

Tổng quan

Tệp XML DSPL xác định siêu dữ liệu của tập dữ liệu, bao gồm mối quan hệ cấu trúc giữa các khái niệm, lát cắt, chủ đề và bảng. Mặc dù có thể tạo tệp này theo cách thủ công, nhưng các công cụ xử lý dữ liệu và tập lệnh có thể giúp đơn giản hoá đáng kể quy trình. Xem tệp DSPL mẫu trong cửa sổ.

Tệp này bao gồm một số mục, được tóm tắt trong bảng bên dưới. Sau bảng này, chúng tôi mô tả từng chỉ số bằng cách sử dụng chi tiết hơn.

Phần Tóm tắt Thông tin khác
Tiêu đề và lệnh nhập Phần tử mẹ của tất cả các phần tử khác của tập dữ liệu. Bao gồm không gian tên đích (tức là giá trị nhận dạng) cho tập dữ liệu, cùng với của bất kỳ tập dữ liệu nào được nhập. Tài liệu
Thông tin về tập dữ liệu Tên, nội dung mô tả và URL của tập dữ liệu. Tài liệu
Thông tin của nhà cung cấp Tên, nội dung mô tả và URL của nhà cung cấp tập dữ liệu. Tài liệu
Khái niệm

Định nghĩa về "sự vật" xuất hiện trong tập dữ liệu (ví dụ: quốc gia, tỷ lệ thất nghiệp, giới tính, v.v.)

Mỗi khái niệm đều có một mã nhận dạng duy nhất, có thể được tham chiếu bằng lát và bảng.

Tài liệu
Lát cắt

Sự kết hợp các khái niệm trong đó có dữ liệu thống kê trong tập dữ liệu. Mỗi lát cắt chứa kích thướcchỉ số.

Lát cắt tham chiếu đến các khái niệm cũng như bảng chứa dữ liệu . Mỗi lát cắt có một mã nhận dạng duy nhất có thể được tham chiếu bằng các bảng có chứa dữ liệu thực tế.

Tài liệu
Bảng Xác định dữ liệu cho các khái niệm và lát cắt. Giữ lại bảng khái niệm bảng liệt kê và bảng lát cắt chứa dữ liệu thống kê. Bảng được định nghĩa trong tệp XML và trỏ đến tệp .csv chứa dữ liệu thực tế. Tài liệu
Chủ đề Danh mục để sắp xếp khái niệm tập dữ liệu. Mặc dù không bắt buộc, nhưng có thể rất hữu ích cho người dùng khi họ khám phá dữ liệu của bạn. Tài liệu

Tiêu đề và nội dung nhập

Khai báo không gian tên Public Data

Tập dữ liệu DSPL bắt đầu bằng phần tử <dspl> cấp cao nhất. Tham số này được dùng để đính kèm tất cả thông tin về tập dữ liệu và để cho biết bất kỳ không gian tên sẽ được sử dụng xuyên suốt tệp. Sau đây là ví dụ:

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.example.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010" >
    ...
</dspl>

Không gian tên là giá trị nhận dạng riêng biệt có thể liên kết với một Lược đồ XML (một tập hợp các phần tử và thuộc tính XML). Chiến lược phát hành đĩa đơn targetNamespace cung cấp một URI xác định tập dữ liệu của bạn. URI này không bắt buộc để trỏ đến một tài nguyên thực tế, nhưng đây là một ý tưởng để URI phân giải thành một tài liệu mô tả nội dung của bạn hoặc tập dữ liệu.

Bạn không cần phải cung cấp targetNamespace. Nếu bạn không, thì một tệp sẽ được tạo tự động cho bạn khi nhập bất cứ lúc nào.

Thuộc tính targetNamespace theo sau là một loạt Các thuộc tính xmlns chỉ định các giản đồ XML khác sẽ được dùng trong tệp. Mỗi tệp DSPL phải bao gồm giản đồ Dữ liệu công khai của Google, có URI là "http://Schema.google.com/dspl/2010" và dùng nó làm không gian tên mặc định. Giao diện này cũng phải bao gồm lược đồ XML W3 tiêu chuẩn được xác định bởi "http://www.w3.org/2001/XMLSchema-instance". Như được mô tả trong phần tiếp theo, bạn có thể thêm các không gian tên khác để đưa vào thông tin từ các tập dữ liệu khác.

Nhập không gian tên tập dữ liệu khác

Tập dữ liệu có thể sử dụng lại định nghĩa và dữ liệu từ các tập dữ liệu khác. Google, dành cho cung cấp một số tập dữ liệu cơ bản xác định các khái niệm thường gặp xuất hiện trong dữ liệu người dùng. Ví dụ: hầu hết các tập dữ liệu đều cần có khái niệm để đại diện cho năm. Thay vì xác định một khái niệm mới, bạn có thể sử dụng giá trị năm khái niệm này từ "http://www.google.com/publicdata/dataset/time" tập dữ liệu. Hãy xem tài liệu Chuẩn tắc Trang Khái niệm để biết thêm thông tin.

Để sử dụng một tập dữ liệu bên ngoài, hãy thêm phần tử <import> vào tệp DSPL ngay sau khai báo không gian tên và cho biết không gian dữ liệu bạn đang nhập, như sau:

<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

Sau đó, hãy thêm không gian tên đã nhập (trong trường hợp này là time="http://www.google.com/publicdata/dataset/google/time") vào phần khai báo không gian tên ở đầu tệp của bạn, như sau:

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.stats-bureau.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010"
    xmlns:time="http://www.google.com/publicdata/dataset/google/time" >
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

Tệp DSPL của bạn giờ đây có thể tham chiếu các phần tử từ Google Public Data tập dữ liệu thời gian. Lặp lại cho mỗi tập dữ liệu mà bạn muốn tham chiếu.

Tham chiếu nội dung trong tập dữ liệu bên ngoài

Sau khi nhập một tập dữ liệu khác, bạn cần có thể tham chiếu các khái niệm, lát cắt và dữ liệu từ tập dữ liệu đó. Để làm việc này, bạn có thể sử dụng tham chiếu đến định dạng prefix:other_id, trong đó prefix là tiền tố dùng cho không gian tên của tập dữ liệu bên ngoài.

Dưới đây là ví dụ về tham chiếu đến khái niệm year từ tập dữ liệu time (mô tả ở trên):

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

Thông tin về tập dữ liệu

Phần tử <info> bao gồm thông tin mô tả về tập dữ liệu. Ví dụ và thông tin chi tiết về các phần tử XML có liên quan là được liệt kê bên dưới.

Ví dụ:

<info>
  <name>
    <value>Unemployment Rates</value>
  </name>
  <description>
    <value>Worldwide unemployment rates by region</value>
  </description>
  <url>
    <value>http://www.example.com/mystats/info.html</value>
  </url>
</info>

Thành phần

Phần tử Bắt buộc? Mô tả
<info> Chứa tất cả thông tin mô tả về tập dữ liệu. Bao gồm các phần tử con <name>, <description><url>.
<name> Con của <info>. Bao gồm phần tử con <value> xác định tên của tập dữ liệu.
<description> Không bắt buộc Con của <info>. Bao gồm phần tử con <value>, bao gồm mô tả bằng văn bản của tập dữ liệu.
<url> Con của <info>. Đường liên kết đến URL có thông tin khác thông tin về tập dữ liệu.

Thông tin về nhà cung cấp

Phần tử <provider> liệt kê thông tin về nhà cung cấp tập dữ liệu. Ví dụ và thông tin chi tiết về các phần tử XML có liên quan là được liệt kê bên dưới.

Ví dụ:

<provider>
  <name>
    <value>Bureau of Statistics</value>
  </name>
  <url>
    <value>http://www.example.com</value>
  </url>
</provider>

Thành phần

Phần tử Bắt buộc? Mô tả
<provider> Kèm theo tất cả thông tin mô tả về nhà cung cấp tập dữ liệu. Bao gồm các phần tử con <name><url>
<name> Không bắt buộc Con của <provider>. Bao gồm phần tử con <value> xác định tên của tập dữ liệu Google Cloud.
<url> Không bắt buộc Con của <info>. Đường liên kết đến URL có thông tin khác thông tin về nhà cung cấp tập dữ liệu.

Khái niệm

Mô tả

Mỗi tập dữ liệu chứa một hoặc nhiều khái niệm. Khái niệm là một định nghĩa về một loại dữ liệu xuất hiện trong một tập dữ liệu. Tập dữ liệu có dữ liệu dân số nhân khẩu học, ví dụ: có thể có các khái niệm quốc gia, tiểu bang, dân số và năm. Các giá trị dữ liệu tương ứng với khái niệm nhất định được gọi là thực thể của khái niệm đó. Các khái niệm thường được mô tả trong tập dữ liệu, nhưng cũng có một số khái niệm (chẳng hạn như thời gian hoặc năm) có thể được mô tả trong tập dữ liệu bên ngoài.

Mỗi khái niệm có thể có một hoặc nhiều thuộc tính. Tài sản là một đặc điểm của một thực thể khái niệm ổn định theo thời gian. Ví dụ: khái niệm quốc gia có thể có các thuộc tính name, populationcapital.

Khái niệm cũng có thể có một hoặc nhiều thuộc tính. Các thuộc tính cung cấp thông tin ở cấp độ khái niệm chứ không phải các trường hợp riêng lẻ. Cho ví dụ: nếu chúng tôi có một tập dữ liệu với khái niệm về tỷ lệ thất nghiệp, chúng tôi có thể sử dụng thuộc tính để chỉ định rằng khái niệm này là một tỷ lệ phần trăm. Một ví dụ khác về cách sử dụng thuộc tính phổ biến là cung cấp đơn vị của bạn.

Ví dụ:

Dưới đây là ví dụ về khái niệm quốc gia có mã nhận dạng duy nhất country và thuộc tính name. Mã khái niệm có thể là dùng để tham chiếu đến khái niệm lát cắt và bảng.

<concept id="country" extends="geo:location">
  <info>
    <name><value>Country</value></name>
    <description>
      <value>My list of countries.</value>
    </description>
  </info>
  <type ref="string"/>
  <property id="name">
    <info>
      <name><value>Name</value></name>
      <description>
        <value>The official name of the country</value>
      </description>
    </info>
    <type ref="string" />
  </property>
  <property concept="geo:continent" isParent="true"/>
  <property id="capital" concept="geo:city" />
  <table ref="countries_table" />
</concept>

Dưới đây là cách hoạt động của ví dụ này.

  • Mã này mô tả quốc gia của khái niệm, trong đó có mã country và các thuộc tính name, continentcapital.
  • Khái niệm này mở rộng geo:location, khái niệm chuẩn cho vị trí. Bằng cách kéo dài geo:location, country kế thừa tất cả các thuộc tính và thuộc tính được xác định trong khái niệm mở rộng: tên thuộc tính, nội dung mô tả, url, vĩ độ và kinh độ. Chấp nhận được để country xác định lại một số thuộc tính này và miễn là định nghĩa đó nhất quán với định nghĩa được cung cấp bởi khái niệm mở rộng.
  • Phần tử khái niệm <info> mô tả khoá về khái niệm. Thông tin này được hiển thị trên trang đích trong Public Data Explorer.
  • Phần tử khái niệm <type> đề cập đến loại nội dung. Trong trường hợp này, đó là chuỗi nhưng giá trị có thể thay đổi. Khái niệm Dân số sẽ có kiểu integer; khái niệm Eurovision winner có thể có kiểu boolean.
  • Phần tử <property> mô tả từng thuộc tính của Khái niệm, bao gồm mã nhận dạng duy nhất (id), infotype. Tài sản cũng có thể tham chiếu các khái niệm để chỉ ra rằng giá trị của chúng là thực thể hợp lệ của các khái niệm đó.
  • Khái niệm này tham chiếu đến một bảng dữ liệu chỉ ra vào tệp CSV chứa dữ liệu thực tế. Bảng dữ liệu đang được tham chiếu như sau: <table ref="countries_table"/>.

    Nếu khái niệm của bạn tham chiếu đến một bảng, thì tệp dữ liệu liên quan phải liệt kê tất cả các trường hợp của khái niệm này. Ví dụ: bạn không thể tạo bảng chỉ liệt kê một vài quốc gia có trong tập dữ liệu. (Nếu có là một nhóm nhỏ các quốc gia mà bạn quan tâm, bạn có thể tạo một để mô tả chúng. Ví dụ: mycountries.)

Thành phần

Phần tử Bắt buộc? Mô tả
<concepts> Phần tử cấp cao nhất. Bao gồm tất cả <concept> phần tử.
<concept> Xác định khái niệm. Giá trị của thuộc tính bắt buộc id phải là duy nhất đối với khái niệm trong tập dữ liệu. Nếu khái niệm này tham chiếu đến bảng dữ liệu khái niệm, giá trị của id phải khớp với tiêu đề cột mô tả khái niệm trong bảng dữ liệu. Thuộc tính extends có thể dùng để biểu thị rằng khái niệm này mở rộng một khái niệm khác. Giá trị của extends phải khớp với mã nhận dạng của một khái niệm được xác định trong cùng tập dữ liệu hoặc có dạng prefix:concept_id, trong đó concept_id là mã nhận dạng của một khái niệm được xác định trong thuộc tính được liên kết với prefix.
<info> Không bắt buộc Kèm theo thông tin mô tả về khái niệm.
<name> Con của <info>. Tên khái niệm. Chiến lược phát hành đĩa đơn phần tử con <value> chứa văn bản - cho ví dụ: Country.
<description> Không bắt buộc Con của <info>. Bao gồm phần tử con <value>, bao gồm mô tả bằng văn bản của khái niệm.
<url> Không bắt buộc Con của <info>. Bao gồm phần tử con <value>, trong đó bao gồm một URL cho khái niệm.
<pluralName> Không bắt buộc Con của <info>. Tên số nhiều của khái niệm. Phần tử con <value> chứa văn bản – ví dụ: Countries.
<totalName> Không bắt buộc Con của <info>. Tên cho tổ hợp tất cả các trường hợp của khái niệm này. Phần tử con <value> chứa văn bản- trong trường hợp country khái niệm, ví dụ: đây có thể là World.
<type> Không bắt buộc Xác định loại nội dung mà khái niệm mô tả. Bắt buộc có các giá trị được phép sau đây cho thuộc tính ref:
  • string
  • số thực dấu phẩy động
  • số nguyên
  • date
  • boolean
Loại này có thể bị bỏ qua nếu khái niệm này là một khái niệm khác, trong trường hợp đối tượng đó được kế thừa từ khái niệm mở rộng.
<property> Không bắt buộc

Một thuộc tính của khái niệm, chẳng hạn như capital. Giá trị của thuộc tính bắt buộc id phải là duy nhất đối với khái niệm. Bạn có thể dùng một thuộc tính concept không bắt buộc để chỉ ra rằng các giá trị của thuộc tính này là các bản sao của một thuộc tính nhất định khái niệm. Nếu bạn chỉ định concept, thì id có thể được bỏ qua; giá trị của nó được ngầm xác định là id của khái niệm được tham chiếu (ví dụ: <property concept="geo:country"/> tương đương với <property id="country" concept="geo:country"/>).

Một thuộc tính có thể chứa thuộc tính isParent Boolean, để chỉ ra rằng mối quan hệ giữa một thực thể của khái niệm và giá trị của thuộc tính này là phân cấp.

Một thuộc tính có thể chứa thuộc tính isMapping Boolean, để cho biết rằng có một ánh xạ 1-1 giữa các phiên bản của khái niệm và giá trị của thuộc tính.

Một thuộc tính có thể chỉ định một mục info lồng nhau và type, được định nghĩa giống như cho một khái niệm. type là bắt buộc nếu thuộc tính không chỉ định concept và phải khớp với loại của khái niệm được tham chiếu nào nếu có.

<attribute> Không bắt buộc

Một thuộc tính của khái niệm. Các thuộc tính bổ sung thông tin về khái niệm đó (ví dụ: GDP là phần trăm). Giá trị của thuộc tính bắt buộc id phải là duy nhất đối với khái niệm. Bạn có thể dùng một thuộc tính concept không bắt buộc để cho biết rằng các giá trị của thuộc tính này là bản sao của một thuộc tính nhất định khái niệm. Nếu bạn chỉ định concept, thì id có thể bị bỏ qua. Giá trị của biến này được ngầm định nghĩa là mã nhận dạng của khái niệm được tham chiếu. (ví dụ: <attribute concept="unit:unit"/> tương đương với <attribute id="unit" concept="unit:unit"/>

Một thuộc tính có thể chỉ định info lồng ghép và type, được định nghĩa tương tự như một khái niệm. type là bắt buộc nếu thuộc tính không chỉ định concept và phải khớp với loại của khái niệm được tham chiếu nào nếu có.

<table> Không bắt buộc Xác định bảng dữ liệu chứa dữ liệu cho khái niệm. Chiến lược phát hành đĩa đơn giá trị của thuộc tính ref bắt buộc phải khớp với bảng Mã nhận dạng được chỉ định trong phần tử <table> liên quan.

Lát cắt

Mô tả

Lát cắt là sự kết hợp các khái niệm chứa dữ liệu tồn tại. Một lát cắt chứa hai loại nội dung tham chiếu khái niệm: thứ nguyênchỉ số. Phương diện là một khái niệm được dùng để phân đoạn hoặc lọc dữ liệu của bạn. Mặt khác, chỉ số mô tả giá trị quan sát được hoặc được liên kết với từng điểm dữ liệu.

Nói chung, thứ nguyên mang tính phân loại còn chỉ số không theo phân loại, giá trị số, thay đổi theo thời gian. Một số ví dụ nguyên mẫu cho từng chiến dịch như sau: sau:

  • Phương diện: Quốc gia, tiểu bang, hạt, khu vực, năm, tháng, giới tính, danh mục độ tuổi, phân khúc ngành
  • Chỉ số: Dân số, GDP, tỷ lệ thất nghiệp, tỷ lệ biết chữ, doanh thu, chi phí, giá

Ví dụ:

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

Dưới đây là cách hoạt động của ví dụ này.

  • Phần này thể hiện dân số theo quốc gia.
  • Báo cáo có chỉ số population và các phương diện countryyear. Mỗi phương diện là một khái niệm đã được xác định ở nơi khác. Khái niệm country và chỉ số population tồn tại trong cùng một tập dữ liệu với lát cắt hiện tại, và được tham chiếu như sau: concept="country"
  • Khái niệm year tồn tại trong thời gian của tập dữ liệu được nhập, được xác định bằng tiền tố dùng trước tên khái niệm (year), như sau: concept="time:year"
  • Lát cắt này tham chiếu đến một bảng dữ liệu trỏ đến tệp CSV có chứa dữ liệu thực tế. Bảng dữ liệu được tham chiếu như sau: <table ref="country_slice_table"/>. (Xem bên trên để biết thông tin về cách nhập tập dữ liệu.)

Lưu ý: Nhìn chung, tập dữ liệu của bạn sẽ nhiều hơn linh hoạt nếu bạn duy trì các chỉ số ở mức tối thiểu, và thay vào đó tạo các chỉ số có ý nghĩa thứ nguyên. Ví dụ: thay vì tạo các chỉ số Female UnemploymentMale Unemployment, tạo chỉ số duy nhất Unemployment và thêm phương diện Gender có các thực thể FemaleMale.

Thành phần

Phần tử Bắt buộc? Mô tả
<slices> Phần tử cấp cao nhất. Bao gồm tất cả <slice> phần tử.
<slice> Không bắt buộc Xác định lát cắt. Giá trị của thuộc tính bắt buộc id phải là duy nhất cho lát cắt.
<dimension> Không bắt buộc Xác định một chiều của lát cắt bằng cách tham chiếu đến một khái niệm. Chiến lược phát hành đĩa đơn giá trị của thuộc tính bắt buộc concept phải khớp chính xác mã nhận dạng duy nhất của khái niệm và sử dụng tiền tố hợp lệ nếu đó là khái niệm thuộc về tập dữ liệu được nhập bên ngoài.
<metric> Không bắt buộc Xác định chỉ số của lát cắt bằng cách tham chiếu đến một khái niệm. Giá trị của thuộc tính bắt buộc concept phải khớp chính xác với mã nhận dạng duy nhất của khái niệm và sử dụng tiền tố hợp lệ nếu khái niệm đó thuộc về vào tập dữ liệu được nhập bên ngoài.
<table> Xác định bảng dữ liệu chứa dữ liệu cho lát cắt. Giá trị trong thuộc tính ref bắt buộc phải khớp với mã bảng được chỉ định trong phần tử <table> có liên quan.
<mapDimension> Không bắt buộc Con của <table>. Chứa các thuộc tính concepttoColumn; giá trị của giá trị đầu tiên là kích thước trong lát cắt và giá trị của giây là cột của bảng tương ứng với thông tin trước đây.
<mapMetric> Không bắt buộc Con của <table>. Chứa các thuộc tính concepttoColumn; giá trị của số thứ nhất là một chỉ số trong lát cắt và giá trị của giây là cột trong bảng tương ứng với thông tin trước đây.

Bảng

Mô tả

Phần tables của tệp DSPL xác định dữ liệu bảng có trong tập dữ liệu. Các bảng này có thể được tham chiếu theo khái niệm hoặc theo lát cắt. Mỗi phần tử <table> chỉ định các cột của các bảng và loại bảng, đồng thời trỏ đến tệp CSV có chứa bảng .

Ví dụ:

<tables>
  <table id="country_slice_table">
    <column id="country" type="string"/>
    <column id="year" type="date" format="yyyy"/>
    <column id="population" type="integer"/>
    <data>
      <file format="csv" encoding="utf-8">country_slice.csv</file>
    </data>
  </table>
  ...
</tables>

Dưới đây là cách thức hoạt động của mẫu này.

  • Mẫu này mô tả bảng country_slice_table. Chiến lược phát hành đĩa đơn bảng có các cột country, yearpopulation.
  • Mỗi cột trong bảng có một id duy nhất, được xác định bởi Thuộc tính id. Mã này phải khớp chính xác với mã tiêu đề cột trong tệp dữ liệu liên kết.
  • Giá trị của thuộc tính type (không bắt buộc) xác định dữ liệu nhập cho mỗi cột.
  • Phần tử <data> mô tả tệp .csv thực tế (country_slice.csv) chứa dữ liệu của bảng. Định dạng tệp là luôn là csv.

Thành phần

Phần tử Bắt buộc? Mô tả
<tables> Phần tử cấp cao nhất. Bao gồm tất cả <table> phần tử.
<table> Xác định bảng. Giá trị của thuộc tính bắt buộc id phải là duy nhất đối với bảng.
<column> Không bắt buộc Con của <table>. Thông tin về cột có trong bảng. Bao gồm các thuộc tính sau:
  • id (bắt buộc): Mã nhận dạng của cột.
  • type (không bắt buộc): Loại dữ liệu của thông tin trong cột được chỉ định. Các giá trị được phép là: string, float, integer, date hoặc boolean.
<data> Không bắt buộc Con của <table>. Tệp dữ liệu được tham chiếu bởi bảng. Nếu tên tệp có dạng URL (ví dụ: http://...), thì tệp sẽ được tìm nạp qua giao thức phù hợp (HTTP, HTTPS hoặc FTP); nếu không, một tệp có tên này phải được đi kèm với tập dữ liệu. Giá trị của thuộc tính bắt buộc format là luôn là csv. Mặc dù thuộc tính encoding là tuỳ chọn, tệp .csv của bạn phải được mã hoá UTF-8.

Chủ đề

Mô tả

Chủ đề phân loại các khái niệm theo hệ thống phân cấp, cho phép người dùng khám phá thông qua tập dữ liệu của bạn dễ dàng hơn.

Phần tử <topics> phải xuất hiện ngay trước Phần tử <concepts> trong tệp DSPL của bạn. (Thứ tự của là các phần tử quan trọng và bạn có thể không tải được tập dữ liệu lên nếu xuất hiện theo thứ tự không chính xác.) Để sử dụng các chủ đề, hãy tham khảo chúng từ định nghĩa khái niệm.

Ví dụ:

Dưới đây là định nghĩa ví dụ về chủ đề:

<topics>
  <topic id="population_indicators">
    <info>
      <name>
        <value>Population indicators</value>
      </name>
    </info>
  </topic>
  ...
</topics>
  

...và dưới đây là ví dụ tham chiếu đến chủ đề này từ một khái niệm:

<concept id="population">
  <info>
    <name>
      <value>Population</value>
    </name>
    <description>
      <value>Size of the resident population.</value>
    </description>
  <topic ref="population_indicators"/>
  <type ref="integer"/>
</concept>

Các chủ đề có thể được lồng ghép và một khái niệm có thể tham chiếu đến nhiều chủ đề.

Định nghĩa về phần tử

Phần tử Bắt buộc? Mô tả
<topics> Phần tử cấp cao nhất. Bao gồm tất cả <topic> phần tử.
<topic> Xác định chủ đề. Giá trị của thuộc tính bắt buộc id phải là duy nhất đối với tập dữ liệu.
<info> Không bắt buộc Con của <topic>. Chứa thông tin về chủ đề.
<name> Không bắt buộc Con của <info>. Phần tử con của nó <value> chỉ định tên của chủ đề.

Tệp dữ liệu DSPL

Ngoài tệp siêu dữ liệu XML, tập dữ liệu DSPL cũng có thể bao gồm một hoặc nhiều tệp dữ liệu ở định dạng CSV. Từng tệp dữ liệu hỗ trợ một bảng trong tập dữ liệu và được tham chiếu từ dữ liệu cũ trong tập dữ liệu <data>...</data>. Về mặt lý thuyết, các tệp này và bảng kết hợp của chúng được dùng để thể hiện khái niệm định nghĩa hoặc dữ liệu lát cắt. Mỗi loại tệp dữ liệu này được mô tả chi tiết hơn bên dưới.

Lưu ý rằng, bất kể mục đích là gì thì tất cả tệp dữ liệu đều phải Tệp văn bản UTF-8 được phân tách bằng dấu phẩy (CSV). Tệp này chỉ được chứa nội dung thuần tuý văn bản; không có HTML. Bạn có thể tạo tệp dữ liệu theo cách thủ công, nhưng thực tế bạn sẽ cần phải xử lý dữ liệu trong công cụ chứa dữ liệu gốc nguồn (ví dụ: bảng tính) hoặc trong chính tệp được xuất.

Các tệp có thể được nhóm với tập dữ liệu hoặc nếu tên ở dạng URL được tìm nạp thông qua HTTP, HTTPS hoặc FTP từ một nguồn từ xa.

Tệp dữ liệu khái niệm

Tệp dữ liệu khái niệm chứa thông tin liên quan cho từng khái niệm. Chiến lược phát hành đĩa đơn định nghĩa khái niệm sử dụng phần tử <table> để tham chiếu đến tệp này.

Ví dụ:

Dưới đây là ví dụ về bảng cho khái niệm country được xác định ở trên:

country, name
AD, Andorra
AF, Afghanistan
AI, Anguilla
AL, Albania
AO, Angola
AQ, Antarctica
AS, American Samoa

Dưới đây là cách hoạt động của ví dụ này:

  • Dòng đầu tiên của tệp dữ liệu (cột, trừ phi chỉ định mối liên kết) tiêu đề) phải khớp chính xác với mã khái niệm và thuộc tính thích hợp mã nhận dạng của khái niệm có liên kết với dữ liệu. Tuy nhiên, thứ tự của các cột không cần phải giống nhau trong tệp dữ liệu và bảng khái niệm. Trong trường hợp này, cột đầu tiên được liên kết với khái niệm country, và cột thứ hai liên quan đến thuộc tính name.
  • Cột thuộc tính là không bắt buộc; nếu thuộc tính không có cột trong bảng, thì giá trị của tham số đó được giả định là không xác định cho mỗi hàng. Chiến lược phát hành đĩa đơn bảng ở trên, ví dụ: bỏ qua cột cho latitudelongitude, nên sẽ không thể ánh xạ được các quốc gia này.
  • Mỗi giá trị cho trường mã nhận dạng của khái niệm (trong trường hợp này là country) phải là duy nhất và không được trống (trường trống là một không có hoặc chỉ có khoảng trắng).
  • Giá trị của những thuộc tính tham chiếu đến các khái niệm khác phải là trống hoặc là giá trị hợp lệ của khái niệm được tham chiếu.
  • Không bắt buộc phải đưa các giá trị vào trong dấu ngoặc kép, trừ phi các giá trị đó chứa dấu phẩy, dấu ngoặc kép hoặc ký tự dòng mới.
  • Thoát khỏi dấu ngoặc kép của giá trị cố định xuất hiện trong một giá trị bằng cách đặt trước dấu ngoặc kép đó với một dấu nháy kép khác.

Lát cắt tệp dữ liệu

Tệp dữ liệu về Lát cắt chứa dữ liệu liên quan cho từng Lát cắt. Lát cắt định nghĩa sử dụng phần tử <table ref="..."> để tham chiếu đến định nghĩa <table>, do đó sẽ xác định tệp này.

Ví dụ:

Dưới đây là ví dụ về tệp .csv chứa dữ liệu cho Lát cắt population_by_country được mô tả ở trên:

country, year, population
AF, 1960, 9616353
AF, 1961, 9799379
AF, 1962, 9989846
AF, 1963, 10188299

Dưới đây là cách hoạt động của ví dụ:

  • Trường chỉ số là population. Các trường countryyear là các trường phương diện.
  • Không được để trống mỗi giá trị của trường phương diện. Bao gồm cả thời gian thứ nguyên. Giá trị cho các trường chỉ số có thể để trống. Giá trị trống là không được biểu thị bằng ký tự nào.
  • Mỗi tiêu đề cột tham chiếu đến một khái niệm (ví dụ: tiêu đề đầu tiên của ví dụ trên tham chiếu đến khái niệm country) phải khớp chính xác với id duy nhất của khái niệm trong định nghĩa khái niệm.
  • Sự kết hợp riêng biệt của các giá trị phương diện, ví dụ: AF, 2000, có thể chỉ xảy ra một lần.
  • Các hàng trong cùng một chuỗi thời gian (tức là các hàng có cùng tổ hợp của tất cả các giá trị phương diện ngoại trừ thời gian) phải được nhóm lại với nhau, mặc dù chúng không cần được sắp xếp theo cách khác.

Tính năng nâng cao

Tập dữ liệu đa ngôn ngữ

Các giá trị XML được dịch

Bạn có thể sử dụng thuộc tính xml:lang với mỗi Phần tử <value> trong tệp DSPL của bạn. Thuộc tính này chỉ định ngôn ngữ của nội dung của phần tử, bằng cách sử dụng mã tiêu chuẩn, W3C ngôn ngữ thẻ. Xin lưu ý rằng bạn không bắt buộc phải sử dụng tính năng này; nếu không Bao gồm thuộc tính xml:lang, nội dung được giả định là nằm trong Tiếng Anh.

Ví dụ sau đây hiển thị các mũi tên cắt của một tập dữ liệu bằng tiếng Anh, Tiếng Bulgaria, tiếng Catalan và tiếng Trung giản thể:

<dspl ...>
  <info>
    <name>
      <value xml:lang="en">World Bank, World Development Indicators</value>
      <value xml:lang="bg">Световна банка, Индикатори за световно развитие</value>
      <value xml:lang="ca">Banc Mundial, Indicadors del desenvolupament mundial</value>
      <value xml:lang="zh-CN">国家/地区</value>
    </name>
    ...
  </info>

  <concepts>
    <concept id="country">
      <info>
        <name>
          <value xml:lang="en">Country</value>
          <value xml:lang="bg">Страна</value>
          <value xml:lang="ca">País</value>
          <value xml:lang="zh-CN">国家/地区</value>
        </name>
        ...
      </info>
      ...
    </concept>
    ...
  </concepts>

  ...
</dspl>

Tài sản được dịch

Trong một số trường hợp, có thể bạn muốn cung cấp bản dịch siêu dữ liệu cấp khái niệm, áp dụng bổ sung cho (hoặc thay thế) cho từng thực thể khái niệm. Điều này đặc biệt hữu ích khi giá trị của một khái niệm thuộc tính (ví dụ: tên) khác nhau theo ngôn ngữ.

Để cung cấp các giá trị đó bằng nhiều ngôn ngữ, hãy tạo một cột trong bảng định nghĩa tương ứng cho từng tổ hợp cơ sở lưu trú/ngôn ngữ. Sau đó, hãy liên kết các cột này với thuộc tính và ngôn ngữ tương ứng bằng cách thêm một tập hợp phần tử <mapProperty xml:lang="..." ref="..." toColumn="..."> vào bảng thẻ tham chiếu cho khái niệm.

Dưới đây là ví dụ định nghĩa khái niệm quốc gia bằng tên bằng tiếng Anh, Tiếng Tây Ban Nha và tiếng Pháp:

<concepts>
  ...
  <concept id="country" extends="geo:location">
    ...
    <property id="name">
      <info>
        <name>
          <value>Name</value>
        </name>
        <description>
          <value>The official name of the country</value>
        </description>
      </info>
      <type ref="string" />
    </property>
    ...
    <table ref="countries_table">
      <mapProperty xml:lang="en" ref="name" toColumn="name_en"/>
      <mapProperty xml:lang="es" ref="name" toColumn="name_es"/>
      <mapProperty xml:lang="fr" ref="name" toColumn="name_fr"/>
    </table>
  </concept>
  ...
</concepts>

...

<tables>
  ...
  <table id="countries_table">
    <column id="country" type="string"/>
    <column id="name_en" type="string"/>
    <column id="name_es" type="string"/>
    <column id="name_fr" type="string"/>
    ...
  </table>
</tables>

Sau đó, tệp CSV cho countries_table sẽ có phần tử biểu mẫu sau:

country,name_en,name_es,name_fr,...
...
US,United States of America,Estados Unidos de América,États-Unis d'Amérique,...
...

Các khái niệm có thể ánh xạ

Nhiều khái niệm (ví dụ: hạt, tiểu bang và thành phố) có các phiên bản tương ứng với các vị trí địa lý. DSPL hỗ trợ mã hoá địa lý các thực thể này để có thể trực quan hoá được trong Biểu đồ bản đồ động cho Dữ liệu công khai của Google.

Nếu khái niệm của bạn tương đương với các quốc gia trên thế giới, các tiểu bang của Hoa Kỳ hoặc Hoa Kỳ quốc gia, thì bạn có thể chỉ cần liên kết với trang chuẩn tương ứng của Google khái niệm; không cần mã hoá địa lý rõ ràng. Xem Hướng dẫn về khái niệm chuẩn để biết thêm chi tiết.

Nếu không, bạn cần làm cho khái niệm của mình có thể liên kết. Bước đầu tiên là mở rộng từ geo:location:

<concept id="..." extends="geo:location">
  ...
</concept>

Sau đó, bạn phải thêm vĩ độ và kinh độ rõ ràng làm các thuộc tính:

<concept id="..." extends="geo:location">
  ...
  <property id="latitude"/>
  <property id="longitude"/>
</concept>
  

Sau đó, giá trị cho các biến này được chỉ định dưới dạng cột trong bảng dữ liệu định nghĩa khái niệm.

Mối quan hệ về khái niệm

Khái niệm thường liên quan đến các khái niệm khác theo một cách có cấu trúc. Cho Ví dụ: một thực thể châu lục có thể bao gồm nhiều thực thể quốc gia, do đó có thể chứa nhiều đối tượng của tiểu bang hoặc tỉnh. Mã hoá những thành phần này mối quan hệ trong siêu dữ liệu của tập dữ liệu giúp hình ảnh trực quan hơn hơn so với bình thường, ví dụ: hiển thị một cây có thể thu gọn vị trí để lựa chọn.

Trong các phần dưới đây, chúng tôi mô tả các mối quan hệ khái niệm được hỗ trợ trong giản đồ DSPL.

Hệ phân cấp

Hệ phân cấp khái niệm được biểu thị trong DSPL thông qua việc sử dụng Thuộc tính isParent="true" trong một Thẻ <property> của khái niệm con, trong đó chứa giá trị nhận dạng của thực thể trong khái niệm mẹ.

Ví dụ: khái niệm Hạt tại Hoa Kỳ của Google có biểu mẫu sau:

<concept id="us_county" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">County</value>
    </name>
    ...
  </info>
  ...
  <property id="state" concept="us_state" isParent="true"/>
  ...
  <data>
    <table ref="reference_us_counties"/>
  </data>
</concept>
  

Bảng dữ liệu chi tiết có cột state chứa phần tử mã tiểu bang gồm hai chữ cái của mỗi hạt. Loại siêu dữ liệu này cho phép Public Data Explorer để hiển thị các tiểu bang và hạt dưới dạng hệ phân cấp, một tính năng giúp người dùng khám phá dễ dàng hơn rất nhiều.

Xin lưu ý rằng một khái niệm có thể có nhiều phần tử con nhưng không có nhiều hơn một phần tử cha mẹ.

Ánh xạ

Liên kết khái niệm (tức là các khái niệm về cơ bản đại diện cho cùng một sự vật) được biểu thị thông qua isMapping="true" trong thẻ property của khái niệm đã liên kết.

Việc chỉ định rằng một khái niệm ánh xạ với một khái niệm khác sẽ cho phép khái niệm cũ kế thừa tất cả các thuộc tính và thuộc tính của tài sản tương lai. Trong số các ứng dụng khác, thông tin này rất hữu ích để "liên kết" khái niệm địa lý cá nhân với dữ liệu được xác định trong tập dữ liệu địa lý chuẩn của Google:

<concept id="my_country" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">Country</value>
    </name>
    ...
  </info>
  ...
  <property id="google_country_code" concept="geo:country" isMapping="true"/>
  <data>
    <table ref="countries_concept"/>
  </data>
</concept>
  

Phần mở rộng

Phần mở rộng về khái niệm được chỉ định thông qua phần tử extends trong định nghĩa khái niệm tương ứng. Tiện ích rất hữu ích trong việc cho biết một khái niệm cụ thể là lớp con của một khái niệm khác rộng hơn. Chiến lược phát hành đĩa đơn khái niệm mở rộng kế thừa tất cả các thuộc tính và thuộc tính của phần tử mẹ, cũng như có thể thêm các đoạn giới thiệu khác.

Ví dụ: khái niệm currency của Google mở rộng unit:

<concept id="unit">
  ...
</concept>

<concept id="currency" extends="unit">
  <info>
    <name>
      <value xml:lang="en">Currency unit</value>
    </name>
    ...
  </info>
  ...
  <table ref="currency_table"/>
</concept>
  

Xem nội dung thảo luận về khái niệm trong phần hướng dẫn để biết thêm nội dung giải thích và ví dụ.

Gửi tập dữ liệu của bạn

Để gửi tập dữ liệu của bạn đến Google Public Data Explorer, hãy làm theo các bước sau hướng dẫn:

  1. Tạo thư mục.
  2. Lưu tệp dspl tập dữ liệu trong thư mục bạn đã tạo. Hãy nhớ hãy sử dụng phần mở rộng .xml.
  3. Lưu mọi tệp .csv trên máy vào cùng một thư mục. Các tệp dữ liệu thuộc tham chiếu qua URL có thể bỏ qua.
  4. Nén thư mục.
  5. Tải tập dữ liệu của bạn lên vào Google Public Data Người khám phá.

Sau khi tập dữ liệu được tải lên và xác thực, bạn có thể kiểm tra tập dữ liệu đó khi ký vào Tài khoản Google của bạn. Ứng dụng này sẽ không được xuất bản cho đến khi bạn chọn và cho chúng tôi biết thiết bị đó đã sẵn sàng hay chưa.