2 Pages: 12

กองข้อมูลที่เชื่อมโยง - SPARQL

แบบสอบถาม: SPARQL ส่วนติดต่อผู้ใช้และการประยุกต์ใช้ เชื่อถือ การเข้ารหัสลับ พิสูจน์ ลอจิก Unifying อภิปรัชญา: นกฮูก กฎ: RIF RDF-Schema การแลกเปลี่ยนข้อมูล: RDF XML URI Unicode


เค้าโครง

  • เกี่ยวกับ SPARQL
  • SPARQL พื้นฐาน
    • การนําเสนอ
    • มือบน
  • SPARQL ในชีวิตจริง
    • การนําเสนอ
    • มือบน
  • SPARQL ขั้นสูง
    • การนําเสนอ
    • มือบน


SPARQL คืออะไร?

SPARQL ย่อมาจาก "SPARQL พิธีสารและภาษาของแบบสอบถาม RDF"

นอกเหนือไปจากภาษาของ W3C ได้กำหนดเพิ่มเติม:

  • SPARQL พิธีสารสำหรับ RDF สเปค: จะกำหนดโปรโตคอลระยะไกลสำหรับการออกคำสั่ง SPARQL และรับผล
  • ผลลัพธ์การค้นหา SPARQL ข้อกำหนดรูปแบบ XML: จะกำหนดรูปแบบเอกสาร XML สำหรับการแสดงผลของ SPARQL


ภาษาแบบสอบถามสำหรับ RDF และ RDFS

มีข้อเสนอมากมายสำหรับ RDF และ RDFS ภาษาสอบถาม:

  • RDQL (http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/)
  • ICS-FORTH RQL (http://139.91.183.30:9090/RDF/RQL/) และ SeRQL (http://www.openrdf.org/doc/sesame/users/ch06.html)
  • SPARQL (http://www.w3.org/TR/rdf-sparql-query/)
  • ...

ในหลักสูตรนี้เราจะครอบคลุม SPARQL ซึ่งเป็นคำแนะนำ W3C ปัจจุบันสำหรับการสอบถามข้อมูล RDF



SPARQL 1.1

  • ในหลักสูตรนี้เราจะครอบคลุมมากที่สุดของ SPARQL 1.0 จากปี 2008 และบางส่วนของ SPARQL 1.1
  • มาตรฐานของ SPARQL จะดำเนินการโดย W3C โดยคณะทำงาน SPARQL
  • ข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอย่างต่อเนื่องโดยคณะทำงานนี้สามารถพบได้ที่ http://www.w3.org/2009/sparql/wiki/Main_Page
  • ดู http://www.w3.org/TR/sparql11-query/ สำหรับรุ่นใหม่ของภาษา SPARQL (SPARQL 1.1)


โครงสร้างพื้นฐาน SPARQL - Outline

  • บิตของเว็บ RDF และความหมาย
  • อย่างรวดเร็วก่อนที่รูปแบบที่สาม
  • ส่วนประกอบของแบบสอบถาม SPARQL
    • รูปแบบกราฟ
    • ชนิดของคำสั่ง
    • ปรับเปลี่ยน





อเนกประสงค์

อเนกประสงค์งบเกี่ยวกับสิ่งที่ (ทรัพยากร) โดยใช้ยูริและค่าอักษร




อเนกประสงค์



กราฟ



กราฟกับยูริ



คำนำหน้า



คำศัพท์

แบ่งปันแนวคิดของโดเมน

ใช้ยูริเป็นตัวระบุที่ไม่ซ้ำกัน

กำหนดคุณสมบัติและชั้นเรียน, และอื่น ๆ ....




คำศัพท์ที่รู้จักกันดี

RDF: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

rdfs: <http://www.w3.org/2000/01/rdf-schema#>

foaf: <http://xmlns.com/foaf/0.1/>

DBpedia: <http://dbpedia.org/resource>




ร้านค้าและจุดสิ้นสุดทริปเปิ SPARQL

  • ปลายทาง SPARQL exposes หนึ่งหรือมากกว่าหนึ่งกราฟ
  • HTTP
  • คาดว่าพารามิเตอร์ "แบบสอบถาม" ทั้งที่มีโพสต์หรือ GET กับแบบสอบถามที่เข้ารหัส
  • ไม่มีความสัมพันธ์ที่จำเป็นระหว่างชื่อกราฟและชื่อปลายทาง แต่การปฏิบัติที่ดี



คำถามง่ายๆ



คำถามง่ายๆ



Query ซับซ้อนมากขึ้นเล็กน้อย



Query ซับซ้อนมากขึ้นเล็กน้อย



SELECT ?friend ?friendname WHERE { jwebsp:John foaf:knows ?friend. ?friend foaf:firstname ?friendname }


Query ซับซ้อนมากขึ้นเล็กน้อย



Query ซับซ้อนมากขึ้นเล็กน้อย



โครงสร้างของแบบสอบถาม SPARQL

# ประกาศคำนำหน้า
อดีตคำนำหน้า: <http://example.com/resources/>
....
ชนิดของแบบสอบถามฉาย # # # ชุดคำนิยาม
SELECT? x? y จาก ...

รูปแบบกราฟ #
WHERE {
? XA? y
}

การปรับเปลี่ยนแบบสอบถาม #
ORDER BY? y


คำนำหน้า

น้ำตาลที่เกี่ยวกับการสร้างประโยคเพื่อให้คำสั่งที่สามารถอ่านได้


ตัวอย่าง:

คำนำหน้า: <http://example.com/base/>

คำนำหน้า foaf: <http://xmlns.com/foaf/0.1/>

<http://xmlns.com/foaf/0.1/knows> == foaf: รู้

<http://example.com/base/Tim> ==: ทิม



ประเภทแบบสอบถาม

SELECT

  • ตารางผลตอบแทนที่ได้ผล

ASK

  • ผลตอบแทน (boolean) จริงถ้ารูปแบบที่สามารถจับคู่

สรรค์สร้าง

  • สร้างโดยใช้แม่แบบอเนกประสงค์

อธิบาย

  • รายละเอียดผลตอบแทนของทรัพยากร


จากประโยค

ระบุที่กราฟควรพิจารณาโดยปลายทาง

  • ถ้ามองข้ามกราฟเริ่มต้นที่เรียกว่าถูกนำมาใช้
  • ถ้าระบุแบบสอบถามที่มีการประเมินโดยใช้กราฟที่กำหนดทั้งหมด
  • ถ้าเป็นกราฟระบุชื่อกราฟชื่อสามารถนำมาใช้ในส่วนของแบบสอบถาม

กราฟสามารถ dereferenced โดยปลายทาง SPARQL



การปรับเปลี่ยนวิธีการแก้ปัญหา

เปลี่ยนผลของแบบสอบถาม

จำกัด และ OFFSET ชิ้น resultset มีประโยชน์สำหรับการให้เลขหน้า

ตัวอย่างเช่น SELECT * WHERE {..... } 10 LIMIT

-> แสดงผลเพียง 10

ORDER BY ทุกประเภทชุดผลลัพธ์

ตัวอย่างเช่น: LIMIT SELECT * WHERE {..... } ORDER BY ASC (... ) 10

-> แสดง 10 อันดับแรกของชุดผลลัพธ์เรียง



ข้อที่

  • มีรูปแบบกราฟ
  • ซึ่งเชื่อมต่อ
  • ตัวแปรที่ถูกผูกไว้กับค่าเดียวกัน


รูปแบบที่สาม

  • รูปแบบทั่วไปสาม (SPO)
  • ในตำแหน่งตัวแปรทั้งหมดที่อาจเกิดขึ้น
  • ตัวแปรที่จะผูกพันตามปลายทาง SPARQL





รูปแบบ Triple Room - ตัวอย่าง

: จอห์น foaf: รู้: ทิม
: จอห์น foaf: ชื่อ "จอห์น"
: ทิม foaf: รู้: จอห์น

: ทิม foaf: ชื่อ "ทิม"

เลือกชื่อที่ไหน? {: ชื่อ: จอห์น foaf}
-> "จอห์น"

SELECT เพื่อนที่ไหน? {: จอห์น foaf: รู้ว่าเพื่อน}
->: ทิม

SELECT เพื่อนชื่อที่ {:? จอห์น foaf: รู้ว่าเพื่อน : จอห์น foaf: ชื่อ}
->: ทิม "จอห์น"

SELECT friendsname WHERE {: จอห์น foaf: รู้ว่าเพื่อน ? foaf เพื่อน: ชื่อ}
-> "ทิม"




รูปแบบ Triple Room - ผลิตภัณฑ์ Cartesian

: จอห์น foaf: รู้: ทิม
: จอห์น foaf: ชื่อ "จอห์น"
: ทิม foaf: รู้: จอห์น
: ทิม foaf: ชื่อ "ทิม"

? เลือกบุคคล friendsname WHERE {foaf คนที่:? รู้ว่าเพื่อน ? foaf คน: friendsname ชื่อ}


: จอห์น "จอห์น"
: จอห์น "ทิม"
: ทิม "จอห์น"
: ทิม "ทิม"



ทรัพยากร Matching

ตรงกับตัวอักษรตามตัวอักษร

ทั้งที่มีคำนำหน้าหรือ <URI> เต็ม

  • foaf: ชื่อ <http://xmlns.com/foaf/spec/name> ==

เปอร์เซ็นต์ของการเข้ารหัสอักษร (เช่นพื้นที่)

  • myns: 20Doe% จอห์น = myns: John Doe | ข้อผิดพลาด!

กรณีที่สำคัญ

  • foaf: name = <http://xmlns.com/foaf/spec/Name>


ตัวอักษรที่ตรงกัน

ตัวอักษรต้องตรงกับความเท่าเทียมกันทางตัวอักษรตามตัวอักษร

  • สามารถมีประเภทข้อมูล: XSD: int, XSD วัน
    • เครื่องยนต์ SPARQL อาจทราบความหมายของประเภทข้อมูล
    • เพื่อความเท่าเทียมกันจะต้องตรงกับ
  • สามารถมีแท็กภาษา




กรอง

  • ดำเนินการในรูปแบบกราฟ
  • ค่าการทดสอบ
  • เด่นที่สุด: จำกัด ค่าตัวอักษร
    • เปรียบเทียบสตริง
    • การแสดงออกปกติ
    • ตัวเปรียบเทียบตัวเลข
  • การตรวจสอบประเภท / ภาษา
  • การประเมินผลในท้ายที่สุดอย่างใดอย่างหนึ่งให้เป็นจริงข้อผิดพลาดเท็จหรือประเภท


ภาพรวมการกรอง

  • ตรรกะ: &&, | |
  • คณิตศาสตร์: +, -, *, /
  • เปรียบเทียบ: =, =,>, <, ...
  • การทดสอบ SPARQL: isURI, ISBLANK, isLiteral, ผูกพัน
  • accessors SPARQL: Str, lang, ประเภทข้อมูลอื่น ๆ : langMatches sameTerm, regex
  • ผู้ขายที่เฉพาะเจาะจง: คำนำหน้าเช่น BIF: มี


กรองสตริง

Str () เพียงแค่มูลค่าที่แท้จริงโดยไม่ต้องประเภทข้อมูล

regex ​​() นิพจน์ปกติเต็มรูปแบบ

BIF: ประกอบด้วยสตริงการค้นหาโดยใช้ดัชนีพิเศษ



สตริงตัวอย่างการกรอง

: จอห์น: อายุ 32
: จอห์น foaf: ชื่อ "จอห์น" @ en
: ทิม: อายุ 20

: ทิม foaf: ชื่อ "ทิม" ^ ^ XSD: สตริง


SELECT เพื่อน {foaf เพื่อน: ชื่อ "ทิม".}

-> ที่ว่างเปล่า

SELECT เพื่อน {foaf เพื่อน: ชื่อ?
FILTER str ((ชื่อ?) = "ทิม")}

->: ทิม

SELECT เพื่อน {foaf เพื่อน: ชื่อ? ? ชื่อ BIF: ประกอบด้วย "im")}

->: ทิม



ภาษาและประเภทข้อมูลการกรอง

lang accessor ​​(x) กับภาษาของตัวอักษร

langMatches (lang (x), "en") ประเมินถ้าแท็กภาษาที่ตรงกับแท็กภาษาอื่น ๆ

ประเภทข้อมูล (x) เข้าใช้งานประเภทข้อมูลของตัวอักษร? x



การกรองตัวเลข

: จอห์น: อายุ 32
: จอห์น foaf: ชื่อ "จอห์น" @ en
: ทิม: อายุ 20

: ทิม foaf: ชื่อ "ทิม" ^ ^ XSD: สตริง

SELECT เพื่อน WHERE {เพื่อน:? อายุ?
FILTER (อายุ?> 25)}

->: จอห์น



ดำเนินการเชิงตรรกะ

: จอห์น: อายุ 32
: จอห์น foaf: ชื่อ "จอห์น" @ en
: ทิม: อายุ 20

: ทิม foaf: ชื่อ "ทิม" ^ ^ XSD: สตริง

SELECT เพื่อน {foaf เพื่อน: ชื่อ?

FILTER str ((ชื่อ?) = "ทิม"? &&> อายุ 25)}

-> โมฆะ

SELECT เพื่อน {foaf เพื่อน: ชื่อ?
FILTER str (ชื่อ () = "ทิม" |? |? อายุ> 25)}

->: ทิม
->: จอห์น



ค่าตัวเลือก

  • ที่คล้ายกันไปทางซ้ายเข้าร่วมใน SQL
  • ช่วยให้มีการสอบถามสำหรับข้อมูลที่ไม่สมบูรณ์
  • เลือกใช้รูปแบบกราฟเต็ม
  • ไวยากรณ์ {} pattern1 เสริม {optpattern}


ตัวอย่างที่เป็นตัวเลือก

: จอห์น foaf: รู้: ทิม
: จอห์น foaf: ชื่อ "จอห์น"
: จอห์น foaf: โทรศัพท์ "123456"
: ทิม foaf: รู้: จอห์น

: ทิม foaf: ชื่อ "ทิม"

SELECT? ชื่ออะไร? โทรศัพท์
ชื่อ: {foaf บุคคล?
foaf คนที่: โทรศัพท์โทรศัพท์}?

-> "จอห์น" "123456"

นี้เป็นบิตพอใจ



ตัวอย่างที่เป็นตัวเลือก

: จอห์น foaf: รู้: ทิม
: จอห์น foaf: ชื่อ "จอห์น"
: จอห์น foaf: โทรศัพท์ "123456"
: ทิม foaf: รู้: จอห์น

: ทิม foaf: ชื่อ "ทิม"

เลือกชื่อโทรศัพท์ {ผู้ foaf:? ชื่อ?
ตัวเลือก {foaf คนที่:? โทรศัพท์โทรศัพท์}}
-> "จอห์น" "123456"
-> "ทิม"




สหภาพ

ไวยากรณ์ {กราฟรูปแบบ} {ยูเนี่ยนรูปแบบกราฟ}

ช่วยให้การสอบถาม (บางส่วน) โครงสร้างข้อมูลที่แตกต่างกัน



ตัวอย่างยูเนี่ยน

: จอห์น RDF: ประเภท foaf: คน
: จอห์น foaf: ชื่อ "จอห์น"
: ทิม RDF: ประเภท foaf: คน
: ทิม foaf: ชื่อ "ทิม"
: เจน RDF: ประเภท foaf: คน

: เจน rdfs: ฉลาก "เจน"

เลือกชื่อ WHERE {ผู้ foaf:? คน ? foaf บุคคล: ชื่อ}

-> "จอห์น"
-> "ทิม"

เลือกชื่อ WHERE {ผู้ foaf:? คน
{foaf คนที่:? ชื่อยูเนี่ยน} {? rdfs คนที่: ป้ายชื่อ}}

-> "จอห์น"
-> "ทิม"
-> "เจน"

SELECT? ชื่อที่ {
{foaf คนที่:?. ชื่อชื่อของบุคคล foaf: คน ?} ยูเนี่ยน {rdfs บุคคล: ทำป้ายชื่อของบุคคล foaf:. คน   }}




เงื้อม

WHERE SELECT * {..... }

-> ตัวแปรทั้งหมดที่กล่าวถึงในรูปแบบกราฟ

SELECT หรือไม่? o {WHERE หรือไม่? P o}

- ตัวแปร> เฉพาะที่ระบุไว้ในกรณีนี้และ o?

SELECT DISTINCT ........

-> eleminates ซ้ำกันในผลที่ตามมา



นับ

ฟังก์ชันการรวมง่าย

นับความถี่ที่ตัวแปรที่ถูกผูกไว้

ตัวอย่าง:

: จอห์น foaf: รู้: ทิม
: จอห์น foaf: ชื่อ "จอห์น"
: ทิม foaf: รู้: จอห์น

: ทิม foaf: ชื่อ "ทิม"

นับเลือก (คนที่?) {foaf บุคคล: ชื่อ?}

-> 2



SPARQL ในชีวิตจริง - Outline

  • เราใช้ความรู้ ackquired ก่อนหน้านี้สำหรับ
    • การสำรวจข้อมูลที่ไม่รู้จักโครงสร้างและคำศัพท์
    • สอบถามข้อมูลที่ไม่สอดคล้องกันโครงสร้าง




บางจุดสิ้นสุด SPARQL สาธารณะ

SPARQLer : ปลายทางแบบสอบถามวัตถุประสงค์ทั่วไปสำหรับข้อมูลบนเว็บที่สามารถเข้าถึงได้

DBpedia : กว้างขวาง RDF ข้อมูลจากวิกิพีเดีย

DBLP : ข้อมูลบรรณานุกรมจากวารสารวิทยาศาสตร์คอมพิวเตอร์และการประชุม

LMDB : ข้อมูลจาก MDB - ฐานข้อมูลภาพยนตร์ (ไม่มีรูปแบบ html)

World Factbook : สถิติประเทศจากซีไอเอ World Factbook



เกี่ยวกับ DBpedia

จุดตกผลึกของเว็บแบบ Semantic

โสดแหล่งข้อมูลที่สำคัญที่สุด

ความพยายามของชุมชน

สารสกัดจากข้อมูลกึ่งโครงสร้างในวิกิพีเดีย

เนื้อหาที่ไม่ curated





ทราบข้อ จำกัด ของคุณ!

ปลายทาง DBpedia นิยมและเป็นที่ใช้

มักจะเพิ่มงบ LIMIT, เมื่อสร้างคำสั่ง



สำรวจคำศัพท์

การสำรวจโดยการตรวจสอบข้อมูลเช่น

  • ค้นหาข้อมูลรายละเอียดเกี่ยวกับข้อมูล
  • ใช้เครื่องมือ
  • วิเคราะห์การถ่ายโอนข้อมูลแบบสอบถาม
  • URI dereference
  • แบบสอบถาม


ข้อมูลรายละเอียด

สิ่งพิมพ์ชุดข้อมูลได้มากที่สุด decribing พวกเขา

ค้นหาเอกสารเกี่ยวกับพวกเขาโดยใช้ scholar.google.com




เครื่องมือค้นหาความสัมพันธ์

http://www.visualdataweb.org/relfinder.php



URIs dereference

หลักการเชื่อมโยงข้อมูลให้ dereferencing ยูริสจะได้รับการ decriptions

ข้อมูลอินสแตนซ์ที่เมืองไลพซิก

-> http://dbpedia.org/resource/Leipzig

ข้อมูลเกี่ยวกับคำศัพท์ foaf: ชื่อ

-> http://xmlns.com/foaf/0.1/name




สอบถาม

อธิบาย <http://dbpedia.org/resource/Leipzig>

SELECT? p? o WHERE {<http://dbpedia.org/resource/Leipzig>? p? o}




? คำสั่ง p

ในแบบสอบถามที่มีตัวแปรในตำแหน่งกริยาของรูปแบบสาม



? คำสั่ง p - ตัวอย่าง

: จอห์น foaf: ชื่อ "จอห์น"
: จอห์น rdfs: ฉลาก "นี่คือจอห์น"
: จอห์น foaf: โทรศัพท์ "12312"


SELECT P o ที่ไหน? {:? จอห์น P o}

-> foaf: ชื่อ "จอห์น"
- rdfs>: ฉลาก "นี่คือจอห์น"
- foaf>: โทรศัพท์ "12312"




มีการสอบถามสำหรับชั้นเรียน

คำศัพท์ที่กำหนดระดับชั้น

  • foaf: คน
  • foaf: เอกสาร

RDF: ประเภท / ร่วมกับชั้นเรียนเช่น

  • : จอห์น foaf: == คน: คน: จอห์น RDF: ประเภท foaf




มีการสอบถามสำหรับชั้นเรียน - ตัวอย่าง

: จอห์น foaf: คน
: ดาวพลูโตสัตว์: สุนัข

เลือกบุคคลที่ไหน? {คน foaf: คน}

->: จอห์น

SELECT? ชั้น WHERE {? เช่นคลาส}

- foaf>: คน
- สัตว์>: สุนัข




บางจุดสิ้นสุด SPARQL สาธารณะ

SPARQLer : ปลายทางแบบสอบถามวัตถุประสงค์ทั่วไปสำหรับข้อมูลบนเว็บที่สามารถเข้าถึงได้

DBpedia : กว้างขวาง RDF ข้อมูลจากวิกิพีเดีย

DBLP : ข้อมูลบรรณานุกรมจากวารสารวิทยาศาสตร์คอมพิวเตอร์และการประชุม

LMDB : ข้อมูลจาก MDB - ฐานข้อมูลภาพยนตร์ (ไม่มีรูปแบบ html)

World Factbook : สถิติประเทศจากซีไอเอ World Factbook



ประเภท

รับทุกประเภทเป็นไปได้ของแนวคิดใน DBpedia


ประเภท

เลือกประเภทที่แตกต่างกัน?

WHERE {
ประเภทของ EA?
}



คุณสมบัติของรายการ

รับคุณสมบัติทั้งหมดของชั้นนักแสดงนำชาย แสดงนอกจากนี้ยังมีชื่อของพวกเขา


รายการของคุณสมบัติ

เลือกที่แตกต่างกัน? p? ชื่อ

WHERE {
? rdfs p: ป้ายชื่อ?
? <http://dbpedia.org/ontology/Actor> EA
? e? p? วี
}



การทำงานกับ DBpedia หน้า

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

ตรวจสอบข้อเสนอแนะของคุณโดยใช้ ปลายทาง DBpedia



การทำงานกับหน้า DBpedia

SELECT? e
WHERE {
? dcterms e: หมวดหมู่เรื่อง: Russian_leaders
}

SELECT? e
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
}

...



COUNT

เปรียบเทียบปริมาณของผลการใช้ฟังก์ชัน COUNT รวม


COUNT

นับเลือก (e)

WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
}



รูปแบบหลาย ๆ

เปลี่ยนแบบสอบถามก่อนหน้านี้เพื่อแสดงยังเป็นชื่อที่แท้จริงของผู้นำ


รูปแบบหลาย ๆ

SELECT? e? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
ชื่อ: dbpprop e?

}

รุ่นที่ดีกว่า:

SELECT? e? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
}



LIMIT

แสดงเฉพาะ 20 รายการแรก แล้วแสดงถัดไป 20 เปลี่ยน OFFSET ถึง 10



LIMIT

SELECT? e? ชื่อ

WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
}

20 LIMIT
OFFSET 10



FILTER

กรองรายการและแสดงผลเฉพาะ Ivan_the_Terrible


FILTER

SELECT? e? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?

FILTER (? E = <http://dbpedia.org/resource/Ivan_the_Terrible>)
}



สตริงที่จับคู่

แสดงรายการของผู้นำรัสเซียทั้งหมดที่มีชื่อ "อีวาน"


จับคู่สาย

SELECT? e? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?

FILTER regex ​​(ชื่อ? "อีวาน", "i")
}



Langmatching

แสดงรายการของผู้นำรัสเซียที่มีป้ายชื่อเฉพาะรัสเซีย


Langmatching

SELECT? e? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?

FILTER (langMatches (lang (ชื่อ), "EN"))
}



คุณสมบัติของการเลือกที่จะแสดง

เขียนแบบสอบถามก่อนหน้านี้เพื่อแสดงรายการชื่อชื่อของบรรพบุรุษและชื่อของผู้สืบทอด



การเลือกคุณสมบัติที่จะแสดง

SELECT? ชื่อ? predecessor_name? successor_name
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
ทายาทผู้สืบทอด: e-DBpedia นกฮูก?
? rdfs ตัวตายตัวแทน: ฉลาก successor_name?
dbpprop e: บรรพบุรุษบรรพบุรุษ?
? rdfs บรรพบุรุษ: ฉลาก predecessor_name?
FILTER (langMatches (lang (ชื่อ), "EN") langMatches && (lang (? successor_name), "EN") langMatches && (lang (? predecessor_name), "EN"))
}


การปฏิบัติเพิ่มเติม

ค้นหาชื่อที่แท้จริงของผู้นำรัสเซียซึ่งเป็นบนบัลลังก์ขวาก่อนที่แคทเธอรี I ("แคเธอรีนแห่งรัสเซียผม" @ TH)

คุณสามารถหาวิธีอื่นที่จะทำงานเดียวกัน?



การปฏิบัติเพิ่มเติม

SELECT? ชื่อ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
ทายาทผู้สืบทอด: e-DBpedia นกฮูก?
? rdfs ตัวตายตัวแทน: ฉลาก "แคเธอรีนแห่งรัสเซียผม" @ en

} หรือ

SELECT? ชื่อเป็น? ผู้นำ
WHERE {
dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
ทายาทผู้สืบทอด: e-DBpedia นกฮูก?
? rdfs ตัวตายตัวแทน: ฉลาก successor_name?
FILTER (? successor_name = "แคเธอรีนแห่งรัสเซียผม" @ TH)
}



optionals

มองไปที่หน้า: http://dbpedia.org/page/Dmitry_of_Suzdal

ทำไมผู้นำนี้ไม่ได้อยู่ในผลของคำสั่งก่อนหน้านี้?

แก้ไขปัญหาที่เกิดขึ้น



optionals

SELECT successor_name? e? ชื่อ? predecessor_name?
WHERE {dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
FILTER (langMatches (lang (ชื่อ), "EN"))
ตัวเลือก {e-DBpedia นกฮูก: ทายาทผู้สืบทอด?
? rdfs ตัวตายตัวแทน: ฉลาก successor_name?
FILTER (langMatches (lang (? successor_name), "EN"))
}
ตัวเลือก {dbpprop e: บรรพบุรุษบรรพบุรุษ?
? rdfs บรรพบุรุษ: ฉลาก predecessor_name?
FILTER (langMatches (lang (? predecessor_name), "EN"))
}
}


สหภาพแรงงาน

ดูที่ http://dbpedia.org/page/Dmitry_of_Suzdal หน้าอย่างระมัดระวังมากขึ้น สิ่งที่คุณสามารถพูดเกี่ยวกับผู้สืบทอดและบรรพบุรุษของผู้นำ?

แก้ไขปัญหาที่เกิดขึ้น



สหภาพแรงงาน

SELECT successor_name? e? ชื่อ? predecessor_name?
WHERE {dbpprop e: ชื่อ DBpedia: List_of_Russian_rulers
? rdfs e: ทำป้ายชื่อ?
FILTER (langMatches (lang (ชื่อ), "EN"))
ตัวเลือก {{e-DBpedia นกฮูก:? ทายาทผู้สืบทอดยูเนี่ยน} {dbpprop e: หลังจากสืบ}?
? rdfs ตัวตายตัวแทน: ฉลาก successor_name?
FILTER (langMatches (lang (? successor_name), "EN"))
}
ตัวเลือก {{dbpprop e:? บรรพบุรุษบรรพบุรุษยูเนี่ยน} {dbpprop e: ก่อนที่บรรพบุรุษ}?
? rdfs บรรพบุรุษ: ฉลาก predecessor_name?
FILTER (langMatches (lang (? predecessor_name), "EN"))
}
}