เกริ่นนำ

"Politigraph" คือฐานข้อมูลการเมืองไทย พัฒนาโดย WeVis กลุ่มเทคโนโลยีเพื่อประชาสังคม code ทั้งหมดของโปรเจคนี้เป็นสาธารณะ สามารถเข้าถึงได้ที่ GitHub

Politigraph เก็บข้อมูลในรูปแบบของ "กราฟ (Graph)" ซึ่งประกอบด้วย

  1. "Node" แทน entity ต่างๆ ในฐานข้อมูล (มีสัญลักษณ์เป็นวงกลม) ซึ่งในแต่ละ node จะมีข้อมูลของตัวเองเรียกว่า "property" เช่น node ที่แทนข้อมูลบุคคลอาจจะมี property ได้แก่ ชื่อ นามสกุล วันเกิด ฯลฯ
  2. "Relationship" หรือบางครั้งก็ถูกเรียกว่า edge (มีสัญลักษณ์เป็นลูกศร) ที่แสดงถึงความสัมพันธ์ระหว่าง node เหล่านั้น

Graph data structure

เนื่องจาก node และ relationship ใน Politigraph มีจำนวนเยอะมาก เราจึงต้องดึงข้อมูลออกมาในแต่ละประเด็นที่สนใจ เราจะเรียกการเขียน code เพื่อเลือก node และ relationship ที่สนใจว่า "query" และเรียกข้อมูลที่ได้คืนกลับมาว่า "response" ซึ่งอยู่ในรูปแบบ JSON ที่เป็น machine-readable สะดวกต่อการนำไปใช้ต่อ อย่างไรก็ตามเพื่อให้เห็นภาพได้ง่าย เราจะนำ response ดังกล่าวมา visualize ให้เห็นในรูปแบบกราฟ

ยกตัวอย่างเช่น ถ้าเราสงสัยว่า "อนุทิน ชาญวีรกูล ได้เห็นด้วยกับการลงมติอะไรบ้าง?" เราก็สามารถดึง node ของอนุทิน และ relationships ที่เชื่อมไปถึงการโหวตเห็นด้วยจนถึงการลงมตินั้นๆ ได้

เลือก node เพื่อดูคำอธิบายและ properties

เราใช้ Neo4jGraphQL เป็นเครื่องมือหลักในการจัดการข้อมูล API ของเราอยู่ในมาตราฐาน GraphQL ซึ่งสามารถเรียกใช้หรือเข้าไปทดลองสร้าง query ต่างๆ ได้ที่ https://politigraph.wevis.info/graphql