คู่มือนักพัฒนาซอฟต์แวร์ DSPL

DSPL ย่อมาจาก Dataset Publishing Language โดยอยู่ในรูปแบบการนำเสนอ สำหรับทั้งข้อมูลเมตา (ข้อมูลเกี่ยวกับชุดข้อมูล เช่น ชื่อและผู้ให้บริการ รวมถึงแนวคิดที่มีและแสดงไว้) และ ข้อมูลจริงของชุดข้อมูล ชุดข้อมูลที่อธิบายในรูปแบบนี้อาจ นำเข้าไว้ใน Google Public Data Explorer เครื่องมือที่ทําให้มีการสํารวจด้วยภาพอย่างละเอียด

หมายเหตุ: วิธีอัปโหลดข้อมูลไปยัง Google Public Data คุณต้องมีบัญชี Google โดยใช้เครื่องมืออัปโหลดข้อมูลสาธารณะ

เอกสารนี้มีไว้สำหรับเจ้าของข้อมูลที่ต้องการเผยแพร่เนื้อหาของตน ที่มีอยู่ใน Public Data Explorer ไม่ใช่แค่บทแนะนำโดยการเจาะลึก รายละเอียดของสคีมา DSPL และฟีเจอร์ที่รองรับ มีความคุ้นเคยพื้นฐานเท่านั้น ของ XML ได้รับการสันนิษฐาน แม้ว่าความรู้เกี่ยวกับฐานข้อมูลเชิงสัมพันธ์จะเป็น มีประโยชน์

แม้จะไม่ใช่ข้อกำหนด แต่เราขอแนะนำให้คุณอ่าน บทแนะนำ ซึ่งสั้นกว่า เข้าใจง่ายขึ้น ก่อนที่จะดูเอกสารนี้

ภาพรวม

ชุดข้อมูล DSPL คือไฟล์ .zip ที่มีไฟล์ XML และชุด CSV ไฟล์ CSV คือตารางง่ายๆ ที่มีข้อมูลของชุดข้อมูล ขณะที่ไฟล์ XML อธิบายข้อมูลเมตาของชุดข้อมูล รายการหลังประกอบด้วย ข้อมูลเมตา เช่น คำอธิบายการวัด เช่นเดียวกับ ข้อมูลเมตาเชิงโครงสร้าง เช่น การอ้างอิงระหว่างตาราง ข้อมูลเมตานี้ ช่วยให้ผู้ใช้ที่ไม่ใช่ผู้เชี่ยวชาญสำรวจและแสดงข้อมูลออกมาเป็นภาพ

กระบวนการ

โดยทั่วไป กระบวนการสร้างชุดข้อมูล DSPL มีดังนี้ (บางส่วน อาจดำเนินการควบคู่กันไป):

  1. สร้างไฟล์ XML ของ DSPL
  2. ระบุแหล่งข้อมูลภายนอกที่จะใช้ในชุดข้อมูล
  3. กำหนดแนวคิด ส่วนต่างๆ และหัวข้อ (ไม่บังคับ) เป็นประจำ อัปเดตเนื้อหาของไฟล์ DSPL
  4. ส่งออกข้อมูลต้นฉบับเป็นไฟล์ .csv
  5. สร้างชุดข้อมูล DSPL
  6. ส่งชุดข้อมูลไปยัง Google

โครงสร้าง XML

ภาพรวม

ไฟล์ XML ของ DSPL กำหนดข้อมูลเมตาของชุดข้อมูล รวมถึง ความสัมพันธ์เชิงโครงสร้างระหว่างแนวคิด สไลซ์ หัวข้อ และตาราง แม้ว่าจะสร้างไฟล์นี้ด้วยตนเองได้ แต่เครื่องมือประมวลผลข้อมูล และสคริปต์จะช่วยเพิ่มความคล่องตัวให้กับกระบวนการ ดูตัวอย่างไฟล์ DSPL ในไฟล์

ไฟล์นี้ประกอบด้วยส่วนต่างๆ ซึ่งมีข้อมูลสรุปไว้ในตาราง ที่ด้านล่าง ตามตารางนี้ เราอธิบายแต่ละข้อเสนอ รายละเอียด

ส่วน สรุป ข้อมูลเพิ่มเติม
ส่วนหัวและการนำเข้า ระดับบนสุดสำหรับองค์ประกอบอื่นๆ ทั้งหมดของชุดข้อมูล มี เนมสเปซเป้าหมาย (ซึ่งก็คือตัวระบุ) สำหรับชุดข้อมูล พร้อมทั้ง เนมสเปซของชุดข้อมูลที่นำเข้า เอกสารประกอบ
ข้อมูลชุดข้อมูล ชื่อ คำอธิบาย และ URL ของชุดข้อมูล เอกสารประกอบ
ข้อมูลผู้ให้บริการ ชื่อ คำอธิบาย และ URL ของผู้ให้บริการชุดข้อมูล เอกสารประกอบ
แนวคิด

คำจำกัดความของ "สิ่งต่างๆ" ที่ปรากฏในชุดข้อมูล (เช่น ประเทศ อัตราการว่างงาน เพศ เป็นต้น)

แต่ละแนวคิดจะมีตัวระบุที่ไม่ซ้ำกัน ซึ่งสามารถอ้างอิงได้โดย ส่วนย่อยและตาราง

เอกสารประกอบ
สไลซ์

ชุดค่าผสมของแนวคิดที่มีข้อมูลทางสถิติในส่วน ชุดข้อมูล แต่ละสไลซ์จะมีมิติข้อมูลและ เมตริก 3 รายการ

แบ่งแนวคิดอ้างอิงและตาราง ซึ่งมีข้อมูลจริง แต่ละสไลซ์มีตัวระบุที่ไม่ซ้ำกันซึ่งฟิลด์อ้างอิงได้ ที่มีข้อมูลจริงอยู่

เอกสารประกอบ
ตาราง กำหนดข้อมูลสำหรับแนวคิดและส่วนต่างๆ คงตารางแนวคิดไว้ การแจกแจงและตารางส่วนแบ่งมีข้อมูลทางสถิติ กำหนดตารางแล้ว ในไฟล์ XML และชี้ไปที่ไฟล์ .csv ที่มีข้อมูลจริง เอกสารประกอบ
หัวข้อ หมวดหมู่สำหรับการจัดระเบียบแนวคิดชุดข้อมูล ถึงแม้จะไม่บังคับ แต่ จะมีประโยชน์อย่างมากสำหรับผู้ใช้ที่กำลังไปยังส่วนต่างๆ ของข้อมูลของคุณ เอกสารประกอบ

ส่วนหัวและการนำเข้า

การประกาศเนมสเปซของข้อมูลสาธารณะ

ชุดข้อมูล DSPL เริ่มต้นด้วยองค์ประกอบ <dspl> ระดับบนสุด ใช้เพื่อปกปิดข้อมูลชุดข้อมูลทั้งหมดและเพื่อระบุ เนมสเปซที่จะใช้ทั่วทั้งไฟล์ ตัวอย่างมีดังนี้

<?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>

เนมสเปซคือตัวระบุที่ไม่ซ้ำซึ่งเชื่อมโยงกับ สคีมา XML (ชุดองค์ประกอบและแอตทริบิวต์ XML) targetNamespace มี URI ที่ระบุชุดข้อมูลของคุณ URI นี้ไม่จำเป็นต้องชี้ไปยังทรัพยากรจริง แต่ก็ถือเป็นตัวเลือกที่ดี แนวคิดที่จะแก้ไข URI เป็นเอกสารที่อธิบายเนื้อหาของคุณ หรือ ชุดข้อมูล

โดยไม่จำเป็นต้องระบุ targetNamespace หากคุณ ไม่ ระบบจะสร้างรายการให้คุณโดยอัตโนมัติเมื่อนําเข้า

แอตทริบิวต์ targetNamespace ตามด้วยชุดของ แอตทริบิวต์ xmlns ที่ระบุสคีมา XML อื่นๆ ที่จะใช้ ในไฟล์ ไฟล์ DSPL ทุกไฟล์ต้องมีสคีมา Google Public Data ที่มี URI เป็น "http://schemas.google.com/dspl/2010" และใช้เป็น เนมสเปซเริ่มต้น ซึ่งควรมีสคีมา W3 XML แบบมาตรฐานด้วย ที่ระบุโดย "http://www.w3.org/2001/XMLSchema-instance" อาส ดังที่อธิบายไว้ในส่วนถัดไป คุณสามารถเพิ่มเนมสเปซอื่นๆ เพื่อรวม จากชุดข้อมูลอื่นๆ

การนำเข้าเนมสเปซอื่นๆ ของชุดข้อมูล

ชุดข้อมูลจะนำคำจำกัดความและข้อมูลจากชุดข้อมูลอื่นๆ มาใช้ซ้ำได้ Google สำหรับ เช่น ให้ชุดข้อมูลพื้นฐานจำนวนหนึ่งที่กำหนดแนวคิดซึ่งมัก ปรากฏในข้อมูลผู้ใช้ เช่น ชุดข้อมูลส่วนใหญ่ต้องมีแนวคิดในการ หมายถึงปี แทนที่จะต้องกำหนดแนวคิดใหม่ คุณสามารถใช้ปี แนวคิดจาก "http://www.google.com/publicdata/dataset/time" ชุดข้อมูล โปรดดูหน้า Canonical ดูข้อมูลเพิ่มเติมได้ในหน้าแนวคิด

หากต้องการใช้ชุดข้อมูลภายนอก ให้เพิ่มองค์ประกอบ <import> ลงใน ไฟล์ DSPL หลังจากการประกาศเนมสเปซ และระบุ พื้นที่ข้อมูลที่คุณกำลังนำเข้า เช่น

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

จากนั้นเพิ่มเนมสเปซที่นำเข้า (ในกรณีนี้คือ time="http://www.google.com/publicdata/dataset/google/time") กับการประกาศเนมสเปซที่ด้านบนของไฟล์ ดังนี้

<?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"/>

ตอนนี้ไฟล์ DSPL ของคุณอ้างอิงองค์ประกอบจากข้อมูลสาธารณะของ Google ได้แล้ว ชุดข้อมูลเวลา เกิดซ้ำ กระบวนการนี้กับชุดข้อมูลทุกชุดที่คุณต้องการอ้างอิง

การอ้างอิงเนื้อหาในชุดข้อมูลภายนอก

เมื่อนำเข้าชุดข้อมูลอื่นแล้ว คุณจะต้องอ้างอิง แนวคิด ส่วน และข้อมูลจากชุดข้อมูลนั้น ในการดำเนินการนี้ คุณสามารถใช้ การอ้างอิงรูปแบบ prefix:other_id โดยที่ prefix เป็นคำนำหน้าที่ใช้สำหรับเนมสเปซของ ชุดข้อมูลภายนอก

นี่คือตัวอย่างการอ้างอิงแนวคิด year จาก ชุดข้อมูล time (อธิบายไว้ด้านบน)

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

ข้อมูลชุดข้อมูล

องค์ประกอบ <info> มีข้อมูลรายละเอียด เกี่ยวกับชุดข้อมูล ตัวอย่างและรายละเอียดเกี่ยวกับองค์ประกอบ XML ที่เกี่ยวข้องมีดังนี้ ที่ระบุไว้ด้านล่าง

ตัวอย่าง

<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>

องค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<info> ใช่ ล้อมรอบข้อมูลที่สื่อความหมายทั้งหมดเกี่ยวกับชุดข้อมูล รวม องค์ประกอบย่อย <name> <description> และ <url>
<name> ใช่ ผู้เผยแพร่โฆษณาย่อยของ <info> รวมองค์ประกอบย่อย <value> ซึ่งระบุชื่อของ ชุดข้อมูล
<description> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> รวมองค์ประกอบย่อย <value> ซึ่งมีข้อความอธิบาย ชุดข้อมูล
<url> ใช่ ผู้เผยแพร่โฆษณาย่อยของ <info> ลิงก์ไปยัง URL ที่มีมากกว่า เกี่ยวกับชุดข้อมูล

ข้อมูลผู้ให้บริการ

องค์ประกอบ <provider> แสดงข้อมูลเกี่ยวกับ ผู้ให้บริการชุดข้อมูล ตัวอย่างและรายละเอียดเกี่ยวกับองค์ประกอบ XML ที่เกี่ยวข้องมีดังนี้ ที่ระบุไว้ด้านล่าง

ตัวอย่าง

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

องค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<provider> ใช่ แนบข้อมูลที่สื่อความหมายทั้งหมดเกี่ยวกับผู้ให้บริการชุดข้อมูล รวมองค์ประกอบย่อย <name> และ <url>
<name> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <provider> รวมองค์ประกอบย่อย <value> ซึ่งระบุชื่อของชุดข้อมูล
<url> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> ลิงก์ไปยัง URL ที่มีมากกว่า ข้อมูลเกี่ยวกับผู้ให้บริการชุดข้อมูล

แนวคิด

คำอธิบาย

ชุดข้อมูลแต่ละรายการจะมีแนวคิดอย่างน้อย 1 รายการ แนวคิดคือ คำจำกัดความของประเภทข้อมูลที่ปรากฏในชุดข้อมูล ชุดข้อมูลที่มี เช่น ข้อมูลประชากรตามกลุ่มข้อมูลประชากร อาจมีแนวคิด ประเทศ รัฐ ประชากร และปี ค่าข้อมูลที่สอดคล้องกับ แนวคิดที่ระบุนี้เรียกว่าอินสแตนซ์ของแนวคิดนั้น แนวคิดคือ ซึ่งโดยปกติจะอธิบายในชุดข้อมูล แต่แนวคิดบางอย่าง (เช่น เวลาหรือปี) อาจอธิบายในชุดข้อมูลภายนอก

แต่ละแนวคิดมีพร็อพเพอร์ตี้ได้อย่างน้อย 1 รายการ พร็อพเพอร์ตี้คือ ของอินสแตนซ์ของแนวคิดที่มีความเสถียรเมื่อเวลาผ่านไป ตัวอย่างเช่น แนวคิดประเทศอาจมีพร็อพเพอร์ตี้ name population และ capital

นอกจากนี้ แนวคิดยังมีแอตทริบิวต์ได้อย่างน้อย 1 รายการ ให้แอตทริบิวต์ ข้อมูลในระดับแนวคิด ไม่ใช่อินสแตนซ์แต่ละรายการ สำหรับ เช่น หากเรามีชุดข้อมูลที่มีแนวคิดเกี่ยวกับอัตราการว่างงาน เราอาจใช้แอตทริบิวต์เพื่อระบุว่าแนวคิดนี้เป็นเปอร์เซ็นต์ อีกตัวอย่างหนึ่งของการใช้แอตทริบิวต์โดยทั่วไปคือการระบุหน่วย

ตัวอย่าง

ตัวอย่างแนวคิดประเทศที่มีรหัสไม่ซ้ำกันมีดังนี้ country และพร็อพเพอร์ตี้ name รหัสแนวคิดอาจเป็น ใช้เพื่ออ้างอิงแนวคิดจากสไลซ์และตาราง

<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>

ตัวอย่างนี้จะมีการทำงานดังนี้

  • โค้ดนี้อธิบายประเทศแนวคิดซึ่งมีรหัส country และพร็อพเพอร์ตี้ name continent และ capital
  • แนวคิดนี้รวม geo:location ซึ่งเป็น แนวคิด Canonical สำหรับ สถานที่ตั้ง การขยายเวลา geo:location เป็น country จะรับช่วงพร็อพเพอร์ตี้และแอตทริบิวต์ทั้งหมดที่กำหนดโดยแนวคิดเพิ่มเติม ดังนี้ ชื่อพร็อพเพอร์ตี้ คำอธิบาย URL ละติจูด และลองจิจูด พอใช้ได้ สำหรับ country เพื่อกำหนดแอตทริบิวต์เหล่านี้ใหม่และ พร็อพเพอร์ตี้ ตราบใดที่คำจำกัดความสอดคล้องกับ ตามแนวคิดแบบขยาย
  • องค์ประกอบแนวคิด <info> จะอธิบายคีย์ ข้อมูลเกี่ยวกับแนวคิด ข้อมูลนี้จะแสดงอยู่ในชุดข้อมูล ในเครื่องมือสำรวจข้อมูลสาธารณะ
  • องค์ประกอบแนวคิด <type> อ้างอิงประเภทของ เนื้อหา ในกรณีนี้จะเป็นสตริง แต่อาจแตกต่างกันไป แนวคิด ประชากรจะเป็นประเภท integer แนวคิด Eurovision winner อาจมีประเภทเป็นบูลีน
  • องค์ประกอบ <property> จะอธิบายพร็อพเพอร์ตี้แต่ละรายการของ ซึ่งรวมถึงรหัสที่ไม่ซ้ำกัน (id), info และ type พร็อพเพอร์ตี้ยังอาจอ้างอิงแนวคิดเพื่อ บ่งบอกว่าค่าของเมตริกนั้นเป็นตัวอย่างที่ถูกต้องของแนวคิดเหล่านั้น
  • แนวคิดอ้างอิงตารางข้อมูลที่ชี้ ลงในไฟล์ CSV ที่มีข้อมูลจริงอยู่ มีการอ้างอิงตารางข้อมูล ดังนี้ <table ref="countries_table"/>

    หากแนวคิดของคุณอ้างอิงตาราง ไฟล์ข้อมูลที่เกี่ยวข้องต้องแสดง อินสแตนซ์ทั้งหมดของแนวคิด ตัวอย่างเช่น คุณไม่สามารถสร้างตาราง ซึ่งแสดงเฉพาะบางประเทศที่รวมอยู่ในชุดข้อมูล (หากมี เป็นส่วนหนึ่งของประเทศที่คุณให้ความสนใจ คุณสามารถสร้าง ที่จะใช้อธิบายตนเอง เช่น mycountries)

องค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<concepts> ใช่ องค์ประกอบระดับบนสุด ล้อมรอบ <concept> ทั้งหมด จากองค์ประกอบเหล่านี้
<concept> ใช่ ระบุแนวคิด ค่าของแอตทริบิวต์ที่ต้องระบุ id ต้องไม่ซ้ำกับแนวคิดภายในชุดข้อมูล ถ้า แนวคิดอ้างอิงตารางข้อมูลแนวคิด ค่าของ id ต้องตรงกับส่วนหัวคอลัมน์ที่อธิบายแนวคิดใน ตารางข้อมูล แอตทริบิวต์ extends อาจใช้เพื่อแสดงถึง แนวคิดนี้ขยายขอบเขตของแนวคิดอื่นด้วย ค่าของ extends ต้องตรงกับรหัสของแนวคิดที่กำหนดไว้ในส่วนเดียวกัน หรืออยู่ในรูปแบบ prefix:concept_id โดยที่ concept_id คือรหัสของแนวคิดที่กำหนดไว้ในแท็ก ชุดข้อมูลภายนอกที่เชื่อมโยงกับ prefix
<info> ไม่บังคับ ใส่ข้อมูลรายละเอียดเกี่ยวกับแนวคิด
<name> ใช่ ผู้เผยแพร่โฆษณาย่อยของ <info> ชื่อแนวคิด องค์ประกอบย่อย <value> มีข้อความ - ตัวอย่างเช่น Country
<description> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> รวมองค์ประกอบย่อย <value> ซึ่งมีข้อความอธิบาย แนวคิด
<url> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> รวมองค์ประกอบย่อย <value> ซึ่งมี URL สำหรับ แนวคิด
<pluralName> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> ชื่อพหูพจน์ของ แนวคิด องค์ประกอบย่อย <value> มีข้อความ - เช่น Countries
<totalName> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> ชื่อสำหรับชุดค่าผสมของ อินสแตนซ์ทั้งหมดของแนวคิด องค์ประกอบย่อย <value> มีข้อความ- ในกรณีของ country เช่น อาจเป็น World
<type> ไม่บังคับ ระบุประเภทของเนื้อหาที่อธิบายโดยแนวคิด ฟิลด์ที่กำหนด แอตทริบิวต์ ref มีค่าที่อนุญาตต่อไปนี้
  • สตริง
  • จำนวนลอยตัว
  • จำนวนเต็ม
  • วันที่
  • boolean
ประเภทอาจถูกตัดออกหากแนวคิดนั้นขยายแนวคิดอื่น ซึ่งในกรณีนี้จะรับมาจากแนวคิดแบบขยาย
<property> ไม่บังคับ

พร็อพเพอร์ตี้ของแนวคิด เช่น capital ค่า ของแอตทริบิวต์ที่จำเป็น id ต้องไม่ซ้ำกันสำหรับ แนวคิด ระบบอาจใช้แอตทริบิวต์ concept ที่ไม่บังคับเพื่อทำสิ่งต่อไปนี้ ระบุว่าค่าของคุณสมบัตินี้เป็นอินสแตนซ์ของ แนวคิด หากระบุ concept แล้ว id อาจละเว้นได้ ค่าที่กำหนดไว้โดยปริยายคือรหัสของ แนวคิดที่อ้างอิง (เช่น <property concept="geo:country"/> เทียบเท่ากับ <property id="country" concept="geo:country"/>)

พร็อพเพอร์ตี้อาจมีแอตทริบิวต์บูลีน isParent เพื่อระบุว่าความสัมพันธ์ระหว่างอินสแตนซ์ของแนวคิด และค่าของคุณสมบัตินี้เป็นลำดับชั้น

พร็อพเพอร์ตี้อาจมีแอตทริบิวต์บูลีน isMapping เพื่อระบุว่ามีการแมปแบบ 1-1 ระหว่างอินสแตนซ์ของ และค่าของพร็อพเพอร์ตี้

พร็อพเพอร์ตี้อาจระบุ info ที่ฝังและ type ซึ่งนิยามไว้สำหรับแนวคิด ต้องระบุ type หากพร็อพเพอร์ตี้ไม่ได้ระบุ concept และต้องตรงกับประเภทของ มีการอ้างอิงแนวคิดหรือไม่

<attribute> ไม่บังคับ

แอตทริบิวต์ของแนวคิด แอตทริบิวต์แสดงถึง ข้อมูลเกี่ยวกับแนวคิด (เช่น GDP คิดเป็นเปอร์เซ็นต์) ค่า ของแอตทริบิวต์ที่จำเป็น id ต้องไม่ซ้ำกันสำหรับ แนวคิด ระบบอาจใช้แอตทริบิวต์ concept ที่ไม่บังคับเพื่อทำสิ่งต่อไปนี้ ระบุว่าค่าของแอตทริบิวต์นี้เป็นอินสแตนซ์ของ แนวคิด หากระบุ concept แล้ว id อาจละเว้นได้ ค่าของฟิลด์ได้รับการระบุโดยนัยเป็นรหัสของ แนวคิดที่อ้างอิง (เช่น <attribute concept="unit:unit"/> เทียบเท่ากับ <attribute id="unit" concept="unit:unit"/>

แอตทริบิวต์อาจระบุ info ที่ซ้อนกันและ type ซึ่งกำหนดเช่นเดียวกับแนวคิด ต้องระบุ type หากแอตทริบิวต์ไม่ได้ระบุ concept และต้องตรงกับประเภทของ มีการอ้างอิงแนวคิดหรือไม่

<table> ไม่บังคับ ระบุตารางข้อมูลที่มีข้อมูลสำหรับแนวคิด ค่าของแอตทริบิวต์ ref ที่จำเป็นต้องตรงกับตาราง รหัสที่ระบุในองค์ประกอบ <table> ที่เกี่ยวข้อง

Slice

คำอธิบาย

สไลซ์คือการผสมผสานแนวคิดที่มีข้อมูลอยู่ ชิ้น จะมีการอ้างอิงแนวคิด 2 ประเภท ได้แก่ มิติข้อมูลและ เมตริก 3 รายการ มิติข้อมูลคือแนวคิดที่ใช้ในการแบ่งกลุ่มหรือกรอง ข้อมูลของคุณ ในทางกลับกัน เมตริกจะอธิบายค่าที่พบหรือ ที่เชื่อมโยงกับจุดข้อมูลแต่ละจุด

โดยทั่วไปแล้ว มิติข้อมูลจะเป็นแบบหมวดหมู่ ส่วนเมตริกจะไม่ใช่เชิงหมวดหมู่ ค่าตัวเลขที่แตกต่างกันไปตามเวลา ตัวอย่างต้นแบบของแต่ละฟีเจอร์มีดังนี้ ดังต่อไปนี้:

  • มิติข้อมูล: ประเทศ รัฐ เขต ภูมิภาค ปี เดือน, เพศ, หมวดหมู่อายุ, กลุ่มอุตสาหกรรม
  • เมตริก: ประชากร, GDP, อัตราการว่างงาน, การรู้หนังสือ รายได้, ต้นทุน, ราคา

ตัวอย่าง

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

ตัวอย่างนี้จะมีการทำงานดังนี้

  • ส่วนแบ่งนี้แสดงประชากรตามประเทศ
  • มีเมตริก population และมิติข้อมูล country และ year มิติข้อมูลแต่ละรายการคือแนวคิด ที่กำหนดไว้ที่อื่นแล้ว แนวคิด country และเมตริก population อยู่ในชุดข้อมูลเดียวกันกับสไลซ์ปัจจุบัน และ มีการอ้างอิงดังนี้: concept="country"
  • มีแนวคิด year อยู่ในเวลาชุดข้อมูลที่นำเข้า ระบุโดยคำนำหน้าที่ใช้ก่อนชื่อแนวคิด (year) ดังนี้: concept="time:year"
  • ส่วนดังกล่าวอ้างอิงตารางข้อมูลที่ชี้ไปยังไฟล์ CSV ที่มีข้อมูลจริงอยู่ ตารางข้อมูลมีการอ้างอิงดังนี้ <table ref="country_slice_table"/> (ดูด้านบน สำหรับข้อมูลเกี่ยวกับการนำเข้า ชุดข้อมูลอื่น)

หมายเหตุ: โดยทั่วไป ชุดข้อมูลของคุณจะยาว ยืดหยุ่นในกรณีที่คุณเก็บเมตริกให้น้อยที่สุด และสร้างเมตริกที่มีความหมายแทน เช่น แทนที่จะสร้างเมตริก Female Unemployment และ Male Unemployment สร้างเมตริกเดียว Unemployment และเพิ่มมิติข้อมูล Gender ที่มีอินสแตนซ์ Female และ Male

องค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<slices> ใช่ องค์ประกอบระดับบนสุด ล้อมรอบ <slice> ทั้งหมด จากองค์ประกอบเหล่านี้
<slice> ไม่บังคับ ระบุสไลซ์ ค่าของแอตทริบิวต์ที่ต้องระบุ id ต้องไม่ซ้ำกันของสไลซ์
<dimension> ไม่บังคับ กำหนดมิติข้อมูลของสไลซ์โดยอ้างอิงแนวคิด ค่าของแอตทริบิวต์ concept ที่จำเป็นต้องตรงกันทุกประการ รหัสที่ไม่ซ้ำกันของแนวคิด และใช้คำนำหน้าที่ถูกต้องหากแนวคิด เป็นของชุดข้อมูลที่นำเข้าภายนอก
<metric> ไม่บังคับ กำหนดเมตริกของส่วนแบ่งโดยการอ้างอิงแนวคิด ค่า ของแอตทริบิวต์ที่จำเป็น concept ต้องตรงกันทุกประการ รหัสที่ไม่ซ้ำกันของแนวคิด และใช้คำนำหน้าที่ถูกต้องหากแนวคิดเป็น ไปยังชุดข้อมูลที่นำเข้าภายนอก
<table> ใช่ ระบุตารางข้อมูลที่มีข้อมูลสำหรับสไลซ์ ค่า ของแอตทริบิวต์ ref ที่จำเป็นต้องตรงกับรหัสตาราง ที่ระบุในองค์ประกอบ <table> ที่เกี่ยวข้อง
<mapDimension> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <table> มีแอตทริบิวต์ concept และ toColumn ค่าของรายการแรกคือ ในสไลซ์ และค่าที่สองคือคอลัมน์ในตาราง ที่ตรงกับอันแรก
<mapMetric> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <table> มีแอตทริบิวต์ concept และ toColumn ค่าแรกคือ เมตริกในสไลซ์ และค่าเมตริกที่ 2 คือคอลัมน์ในตาราง ที่ตรงกับอันแรก

ตาราง

คำอธิบาย

ส่วน tables ของไฟล์ DSPL ระบุข้อมูล ตารางที่รวมอยู่ในชุดข้อมูล ตารางเหล่านี้สามารถอ้างอิงตามแนวคิดหรือ ตามการแบ่งส่วน องค์ประกอบ <table> แต่ละรายการระบุคอลัมน์ของ ตารางและประเภทของตาราง และชี้ไปที่ไฟล์ CSV ที่มีตาราง

ตัวอย่าง

<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>

ตัวอย่างนี้จะมีการทำงานดังนี้

  • ตัวอย่างนี้อธิบายตาราง country_slice_table ตารางมีคอลัมน์ country, year และ population
  • แต่ละคอลัมน์ในตารางจะมีรหัสที่ไม่ซ้ำกัน ซึ่งระบุโดย id รหัสนี้ต้องตรงกันทุกประการกับ ส่วนหัวคอลัมน์ในไฟล์ข้อมูลที่เกี่ยวข้อง
  • ค่าของแอตทริบิวต์ type ที่ไม่บังคับจะเป็นตัวกำหนดข้อมูล ประเภทสำหรับแต่ละคอลัมน์
  • องค์ประกอบ <data> อธิบายไฟล์ .csv จริง (country_slice.csv) ที่มีข้อมูลของตาราง รูปแบบไฟล์ คือ csv เสมอ

องค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<tables> ใช่ องค์ประกอบระดับบนสุด ล้อมรอบ <table> ทั้งหมด จากองค์ประกอบเหล่านี้
<table> ใช่ ระบุตาราง ค่าของแอตทริบิวต์ที่ต้องระบุ id ต้องไม่ซ้ำกับตาราง
<column> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <table> ข้อมูลเกี่ยวกับคอลัมน์ ที่รวมอยู่ในตาราง รวมแอตทริบิวต์ต่อไปนี้
  • id (ต้องระบุ): รหัสของคอลัมน์
  • type (ไม่บังคับ): ประเภทข้อมูลของข้อมูล ในคอลัมน์ที่ระบุ ค่าที่ใช้ได้คือ string, float, integer, date หรือ boolean
<data> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <table> ไฟล์ข้อมูลที่อ้างถึงโดย ตาราง หากชื่อไฟล์อยู่ในรูปแบบ URL (เช่น http://...) ระบบจะดึงข้อมูลไฟล์ผ่าน โปรโตคอลที่เหมาะสม (HTTP, HTTPS หรือ FTP) หรือไม่เช่นนั้น ไฟล์ ด้วยชื่อนี้ต้องรวมอยู่กับชุดข้อมูล ค่าของแอตทริบิวต์ format ที่จำเป็นคือ csv เสมอ แม้ว่าแอตทริบิวต์ encoding ไฟล์ .csv ของคุณต้องมีการเข้ารหัส UTF-8

หัวข้อ

คำอธิบาย

หัวข้อจะจัดประเภทแนวคิดตามลําดับชั้นเพื่อให้ผู้ใช้ไปยังส่วนต่างๆ ผ่านชุดข้อมูลได้ง่ายยิ่งขึ้น

องค์ประกอบ <topics> ควรปรากฏขึ้นก่อน องค์ประกอบ <concepts> ในไฟล์ DSPL (ลำดับของ มีความสำคัญ และคุณอาจอัปโหลดชุดข้อมูลไม่ได้หาก องค์ประกอบปรากฏตามลำดับที่ไม่ถูกต้อง) หากต้องการใช้หัวข้อ โปรดอ้างอิงหัวข้อจาก คำนิยามของแนวคิด

ตัวอย่าง

ต่อไปนี้คือตัวอย่างการกำหนดหัวข้อ

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

...และต่อไปนี้คือตัวอย่างการอ้างอิงหัวข้อนี้จากแนวคิด:

<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>

หัวข้อสามารถซ้อนกัน และแนวคิดจะอ้างอิงหัวข้อได้มากกว่า 1 หัวข้อ

คําจํากัดความขององค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<topics> ใช่ องค์ประกอบระดับบนสุด ล้อมรอบ <topic> ทั้งหมด จากองค์ประกอบเหล่านี้
<topic> ใช่ ระบุหัวข้อ ค่าของแอตทริบิวต์ที่ต้องระบุ id ต้องไม่ซ้ำกับชุดข้อมูล
<info> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <topic> แนบข้อมูลเกี่ยวกับ หัวข้อ
<name> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> องค์ประกอบย่อย <value> ระบุชื่อหัวข้อ

ไฟล์ข้อมูล DSPL

นอกจากไฟล์ข้อมูลเมตา XML แล้ว ชุดข้อมูล DSPL ยัง รวมไฟล์ข้อมูลอย่างน้อย 1 รายการในรูปแบบ CSV ไฟล์ข้อมูลแต่ละไฟล์ สนับสนุนตารางในชุดข้อมูล และอ้างอิงจากตารางแรกในชุดข้อมูล <data>...</data> โดยหลักการแล้ว ไฟล์เหล่านี้ และตารางที่เชื่อมโยงจะใช้เพื่อแสดงแนวคิด คำจำกัดความหรือข้อมูลส่วนแบ่ง ไฟล์ข้อมูลแต่ละประเภทต่อไปนี้ ตามที่อธิบายไว้โดยละเอียดด้านล่าง

โปรดทราบว่าไฟล์ข้อมูลทั้งหมดจะต้อง ไฟล์ข้อความ UTF-8 ที่คั่นด้วยคอมมา (CSV) ไฟล์ต้องมีเพียงไฟล์ธรรมดา text; ไม่มี HTML คุณสามารถสร้างไฟล์ข้อมูลด้วยตนเอง แต่ในความเป็นจริงแล้วคุณ จะนวดข้อมูลในเครื่องมือที่มีข้อมูลต้นฉบับ ต้นฉบับ (เช่น สเปรดชีต) หรือในตัวไฟล์ที่ส่งออก

ไฟล์สามารถรวมอยู่กับชุดข้อมูลได้ หรือถ้าชื่ออยู่ในรูปแบบของ URL ซึ่งดึงข้อมูลผ่าน HTTP, HTTPS หรือ FTP จากแหล่งที่มาระยะไกล

ไฟล์ข้อมูลแนวคิด

ไฟล์ข้อมูลแนวคิดมีข้อมูลที่เกี่ยวข้องสำหรับแต่ละแนวคิด การกำหนดแนวคิดใช้เอลิเมนต์ <table> เพื่ออ้างอิง ไฟล์นี้

ตัวอย่าง

ตัวอย่างตารางสําหรับแนวคิด country มีดังนี้ ตามที่ระบุไว้ข้างต้น

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

ตัวอย่างนี้จะมีการทำงานดังนี้

  • หากไม่ได้ระบุการแมป บรรทัดแรกของไฟล์ข้อมูล (คอลัมน์ ส่วนหัว) ต้องตรงกับรหัสแนวคิดและพร็อพเพอร์ตี้ที่เหมาะสม รหัสของแนวคิดที่เกี่ยวข้องกับข้อมูล อย่างไรก็ตาม คำสั่งซื้อ ของคอลัมน์ไม่จำเป็นต้องเหมือนกันในไฟล์ข้อมูลและ ด้วยตารางแนวคิด ในกรณีนี้ คอลัมน์แรกจะเชื่อมโยงกับฟิลด์ แนวคิด country และคอลัมน์ที่ 2 มีการเชื่อมโยงกับ พร็อพเพอร์ตี้ name
  • คอลัมน์พร็อพเพอร์ตี้เป็นตัวเลือกที่ไม่บังคับ หากพร็อพเพอร์ตี้ไม่มีคอลัมน์ ในตาราง ระบบจะถือว่าไม่มีการกำหนดค่าสำหรับแต่ละแถว ตัวอย่างเช่น ตารางด้านบน ไม่รวมคอลัมน์สำหรับ latitude และ พร็อพเพอร์ตี้ longitude ดังนั้นประเทศต่างๆ จะไม่สามารถแมปได้
  • แต่ละค่าสำหรับช่องรหัสของแนวคิด (ในกรณีนี้คือ country) ต้องไม่ซ้ำกันและต้องไม่ว่างเปล่า (ฟิลด์ว่างคือ 1 ที่มีอักขระเป็น 0 หรือมีเพียงช่องว่าง)
  • ค่าสำหรับพร็อพเพอร์ตี้ที่อ้างอิงแนวคิดอื่นๆ ต้องเป็น ว่างเปล่าหรือเป็นค่าที่ถูกต้องของแนวคิดที่อ้างอิง
  • คุณจะใส่ค่าที่อยู่ในเครื่องหมายคำพูดคู่หรือไม่ก็ได้ ยกเว้นในกรณีที่ค่าดังกล่าว ประกอบด้วยเครื่องหมายคอมมา เครื่องหมายคำพูดคู่ หรือขึ้นบรรทัดใหม่
  • ใช้ Escape กับเครื่องหมายคำพูดคู่แบบลิเทอรัลที่ปรากฏในค่าโดยนำหน้าเครื่องหมายคำพูดออก ด้วยข้อความที่ยกมาอีกคู่

ไฟล์ข้อมูลส่วนแบ่ง

ไฟล์ข้อมูลสไลซ์มีข้อมูลที่เกี่ยวข้องสำหรับแต่ละสไลซ์ ส่วนแบ่ง ใช้เอลิเมนต์ <table ref="..."> เพื่อ อ้างอิงคำจำกัดความของ <table> ซึ่งแสดงว่า ไฟล์นี้

ตัวอย่าง

ต่อไปนี้คือตัวอย่างของไฟล์ .csv ที่มีข้อมูลของ ส่วนแบ่ง population_by_country ที่อธิบายไว้ข้างต้น:

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

ตัวอย่างการทำงานมีดังนี้

  • ช่องเมตริกคือ population ฟิลด์ country และ year เป็นช่องมิติข้อมูล
  • แต่ละค่าในช่องมิติข้อมูลต้องไม่ว่างเปล่า รวมเวลา เว้นว่างค่าสำหรับช่องเมตริกได้ ค่าว่างคือ ไม่แสดงเป็นอักขระใดๆ
  • ส่วนหัวของแต่ละคอลัมน์ที่อ้างอิงแนวคิด (ตัวอย่างเช่น ของตัวอย่างข้างต้นอ้างอิงแนวคิด country) จะต้อง ตรงกับรหัสที่ไม่ซ้ำกันของแนวคิดในคำจำกัดความของแนวคิด
  • ชุดค่าผสมของค่ามิติข้อมูลที่ไม่ซ้ำกัน เช่น AF, 2000, อาจเกิดขึ้นเพียงครั้งเดียว
  • แถวในอนุกรมเวลาเดียวกัน (เช่น แถวที่มีชุดค่าผสมเดียวกัน ของค่ามิติข้อมูลทั้งหมดยกเว้นเวลา) จะต้องจัดกลุ่มไว้ด้วยกัน ไม่จำเป็นต้องจัดเรียงอย่างอื่น

ฟีเจอร์ขั้นสูง

ชุดข้อมูลหลายภาษา

ค่า XML ที่แปลแล้ว

คุณใช้แอตทริบิวต์ xml:lang ได้กับทุก องค์ประกอบ <value> ในไฟล์ DSPL แอตทริบิวต์นี้ ระบุภาษาของเนื้อหาองค์ประกอบโดยใช้แอตทริบิวต์ standard, W3C แท็กภาษา โปรดทราบว่าการใช้ฟีเจอร์นี้เป็นตัวเลือกที่ไม่บังคับ หากไม่ใช่ รวมแอตทริบิวต์ xml:lang แล้ว เนื้อหาจะอยู่ในสถานะ ภาษาอังกฤษ

ตัวอย่างต่อไปนี้แสดงตัวอย่างชุดข้อมูลที่เป็นภาษาอังกฤษ บัลแกเรีย คาตาลัน และจีนตัวย่อ

<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>

คุณสมบัติที่แปลแล้ว

ในบางกรณี คุณอาจต้องการให้คำแปลที่นอกเหนือจาก ข้อมูลเมตาระดับแนวคิด โดยใช้การเพิ่มเติม (หรือแทน) กับผู้ใช้แต่ละราย อินสแตนซ์ของแนวคิด ซึ่งจะเป็นประโยชน์อย่างยิ่งเมื่อค่าของแนวคิด พร็อพเพอร์ตี้ (เช่น ชื่อ) แตกต่างกันไปตามภาษา

หากต้องการระบุค่าดังกล่าวในหลายภาษา ให้สร้าง 1 คอลัมน์ใน ตารางคำจำกัดความที่เกี่ยวข้องสำหรับชุดค่าผสมของพร็อพเพอร์ตี้/ภาษาแต่ละชุด จากนั้นลิงก์คอลัมน์เหล่านี้กับพร็อพเพอร์ตี้และภาษาที่เชื่อมโยงโดย กำลังเพิ่มชุดขององค์ประกอบ <mapProperty xml:lang="..." ref="..." toColumn="..."> ลงในตาราง แท็กอ้างอิงของแนวคิด

นี่คือตัวอย่างที่กำหนดแนวคิดประเทศด้วยชื่อเป็นภาษาอังกฤษ ภาษาสเปนและฝรั่งเศส

<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>

ไฟล์ CSV สำหรับ countries_table จะมีค่า แบบฟอร์มต่อไปนี้:

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

แนวคิดที่สามารถจัดทำแผนที่ได้

แนวคิดต่างๆ (เช่น เทศมณฑล รัฐ และ เมือง) มีอินสแตนซ์ที่สอดคล้องกับสถานที่ตั้งทางภูมิศาสตร์ DSPL สนับสนุนการระบุพิกัดทางภูมิศาสตร์อินสแตนซ์เหล่านี้เพื่อให้มองเห็นได้ใน แผนภูมิแผนที่แบบเคลื่อนไหวของ Google Public Data

หากแนวคิดของคุณเทียบเท่ากับประเทศทั่วโลก รัฐในสหรัฐอเมริกา หรือสหรัฐอเมริกา ประเทศ คุณก็สามารถเชื่อมโยงกับหน้า Canonical ของ Google แนวคิด ไม่จำเป็นต้องมีการกำหนดรหัสพิกัดภูมิศาสตร์อย่างชัดเจน ดูข้อมูลเพิ่มเติมในคู่มือแนวคิด Canonical รายละเอียด

หรือไม่เช่นนั้น คุณต้องทำให้แนวคิดของคุณแมปได้ ขั้นตอนแรกคือ ทำให้ขยายจาก geo:location:

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

จากนั้น คุณต้องเพิ่มละติจูดและลองจิจูดเป็นคุณสมบัติอย่างชัดเจน

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

ค่าเหล่านี้จะถูกระบุเป็นคอลัมน์ในคอลัมน์ ตารางข้อมูลการกำหนดแนวคิด

ความสัมพันธ์ของแนวคิด

แนวคิดมักจะเกี่ยวข้องกับแนวคิดอื่นๆ อย่างมีโครงสร้าง สำหรับ เช่น อินสแตนซ์ทวีปอาจมี ประเทศ ซึ่งอาจมีหมายเลข ระดับรัฐหรือจังหวัด การเข้ารหัสรายการเหล่านี้ ความสัมพันธ์ในข้อมูลเมตาของชุดข้อมูลช่วยให้เห็นภาพที่สมบูรณ์ยิ่งขึ้น แสดงมากกว่าที่ควรจะเป็น เช่น การแสดงต้นไม้ที่ยุบได้ จำนวนมากให้เลือก

ในส่วนด้านล่าง เราอธิบายความสัมพันธ์ของแนวคิดที่รองรับใน สคีมา DSPL

ลำดับชั้น

ลำดับชั้นแนวคิดจะแสดงใน DSPL ผ่านการใช้ แอตทริบิวต์ isParent="true" ใน แท็ก <property> ของแนวคิดย่อย ซึ่งมี ตัวระบุของอินสแตนซ์จากแนวคิดระดับบนสุด

ตัวอย่างเช่น แนวคิดของ Google ในเคาน์ตีในสหรัฐอเมริกามี แบบฟอร์มต่อไปนี้:

<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>
  

ตารางข้อมูลสนับสนุนมีคอลัมน์ state ที่มีฟิลด์ รหัสรัฐ 2 ตัวอักษรสำหรับแต่ละเทศมณฑล ข้อมูลเมตาประเภทนี้ช่วยให้สามารถ Public Data Explorer เพื่อแสดงรัฐและเคาน์ตีเป็นลำดับชั้น ฟีเจอร์ ที่ทำให้การสำรวจง่ายขึ้นสำหรับผู้ใช้

โปรดทราบว่าแนวคิดหนึ่งสามารถมีเด็กได้หลายคน แต่ต้องมีไม่เกิน 1 ตัว หลัก

การแมป

การแมปแนวคิด (กล่าวคือ แนวคิดที่สะท้อนถึง สิ่งของ) จะแสดงผ่านองค์ประกอบ isMapping="true" ในแท็ก property ของแนวคิดที่แมป

การระบุว่าแนวคิดหนึ่งแมปกับอีกแนวคิดหนึ่งจะอนุญาตให้แนวคิดแรกรับค่าเดิมได้ คุณสมบัติและแอตทริบิวต์ทั้งหมดของแบบหลัง นอกจากแอปพลิเคชันอื่นๆ แล้ว ซึ่งมีประโยชน์สำหรับ "การลิงก์" แนวคิดภูมิศาสตร์ส่วนบุคคลกับ เฉพาะที่กำหนดไว้ในชุดข้อมูลภูมิศาสตร์ Canonical ของ 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>
  

ส่วนขยาย

ส่วนขยายแนวคิดกำหนดผ่านองค์ประกอบ extends ไว้ในการกำหนดแนวคิดที่เกี่ยวข้อง ส่วนขยายมีประโยชน์ในการบ่งชี้ ว่าแนวคิดหนึ่งๆ เป็นคลาสย่อยของอีกแนวคิดหนึ่งที่กว้างกว่า แนวคิดแบบขยายจะสืบทอดแอตทริบิวต์และพร็อพเพอร์ตี้ทั้งหมดของระดับบนสุด และสามารถเพิ่มคอลัมน์อื่นๆ ได้ด้วย

ในตัวอย่างนี้ แนวคิด currency ของ Google ได้ขยาย 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>
  

ดูการสนทนาเกี่ยวกับแนวคิด ในบทแนะนำเพื่อดูคำอธิบายและตัวอย่างเพิ่มเติม

การส่งชุดข้อมูล

หากต้องการส่งชุดข้อมูลไปยัง Google Public Data Explorer ให้ทำดังนี้ คำแนะนำ:

  1. สร้างไดเรกทอรี
  2. บันทึกไฟล์ dspl ของชุดข้อมูลในไดเรกทอรีที่คุณสร้าง อย่าลืม ใช้ส่วนขยาย .xml
  3. บันทึกไฟล์ .csv ในเครื่องในไดเรกทอรีเดียวกัน ไฟล์ข้อมูลที่ สามารถละเว้นผ่าน URL ได้
  4. บีบอัดไดเรกทอรี
  5. อัปโหลดชุดข้อมูลไปยัง Google Public Data สำรวจ

เมื่ออัปโหลดและตรวจสอบชุดข้อมูลแล้ว คุณจะทดสอบได้เมื่อลงนาม ลงชื่อเข้าใช้บัญชี Google ของคุณ และจะไม่เผยแพร่จนกว่าคุณจะตรวจสอบ และแจ้งให้เราทราบว่าสินค้าพร้อมแล้ว