هل تريد كتابة استعلام Freebase MQL الذي يستعيد كل شيء حول موضوع معين؟

StackOverflow https://stackoverflow.com/questions/694037

  •  22-08-2019
  •  | 
  •  

سؤال

أريد أن أكتب استعلامًا يستعيد كل ما هو معروف حول موضوع ما (يحتاج فقط إلى أن يكون عميقًا على مستوى واحد.

عند العمل في محرر Freebase MQL يقدمون المثال التالي لـ "كل ما نعرفه عن جيمي هندريكس":

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/music/artist"
}

تكمن المشكلة في أن الاستعلام مرتبط بالنوع "/music/artist" ويستعيد فقط الخصائص المرتبطة بهذا النوع.إذا قمت بتغيير الاستعلام لاستخدام نوع مختلف، فستحصل على مجموعة نتائج مختلفة تمامًا.

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/people/person"
}

كيف يمكنني كتابة استعلام يستعيد بالفعل كل ما تعرفه Freebase عن جيمي هندريكس؟

هل كانت مفيدة؟

المحلول

قد تكون واجهة Freebase Topic API هي ما تبحث عنه:

http://www.freebase.com/experimental/topic/standard?id=/en/jimi_hendrix

ستلتقط واجهة برمجة التطبيقات Topic جميع الخصائص المرتبطة مباشرة بموضوع ما في الرسم البياني.تغلف واجهة برمجة التطبيقات (API) سلسلة من استعلامات MQL للحصول على جميع البيانات والمخرجات بتنسيق JSON.

جوجل "Freebase موضوع HTTP API" لمزيد من المعلومات.

نصائح أخرى

لذلك عليك ان تحصل على نوع أكثر تقدما من الاستعلام الذي يبحث في الروابط الأساسية (/ نوع / الوصلة) التي تشكل الرسم البياني فريبيس. كل وصلة لديه مصدر، وهو هدف والممتلكات المخصصة لذلك، ويمكن الاستعلام مثل هذا:

[
  {
    "master_property" : null,
    "source" : {
      "id" : "/en/jimi_hendrix"
    },
    "target" : null,
    "target_value" : null,
    "type" : "/type/link"
  }
]

وهذه تسمى الروابط المنتهية ولايته وتمثل معظم القيم التي تشاهد عادة في واجهة المستخدم فريبيس ولكن يمكنك أيضا مبادلة المصدر والهدف للحصول على قائمة من الروابط روابط واردة هذا:

[
  {
    "master_property" : null,
    "source" : null,
    "target" : {
      "id" : "/en/jimi_hendrix"
    },
    "type" : "/type/link"
  }
]

وتشمل هذه الروابط الخصائص على المواضيع الأخرى التي تشير إلى جيمي هندريكس كقيمة وهذه القيم ليست كلها تظهر على الصفحة فريبيس جيمي هندريكس للحفاظ على حجم المعلومات إلى مستوى يمكن التحكم فيها.

وبعد فترة من الوقت، برزت لنا هذا هو حالة الاستخدام الأمثل، لذلك نحن إدخال API جديدة كاملة للقيام بذلك:

http://www.freebase.com/docs/topic_api

وهذا سوف تحصل على كافة الخصائص من الاستعلامات المذكورة أعلاه، وكذلك الوسطاء وغيرها من الأشياء الجيدة.

لاحظ أنه إذا كنت تريد كل الخصائص من ALL المواضيع في فريبيس، يجب أن تكون باستخدام مقالب البيانات وليس لغة وقت التشغيل الاستعلام (سيكون أسرع عدة مرات).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top