داتالوج

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

مثال

يتكون برنامج داتالوج من حقائق ، وهي عبارات تُعتبر صحيحة، وقواعد ، وهي قواعد تُحدد كيفية استنتاج حقائق جديدة من حقائق معروفة. على سبيل المثال، إليك حقيقتان تعنيان أن زيركس هو أحد والدي بروك، وأن بروك هي أحد والدي داموكليس :

parent ( xerces , brooke ). parent ( brooke , damocles ).

تُكتب الأسماء بأحرف صغيرة لأن السلاسل النصية التي تبدأ بحرف كبير تُمثل متغيرات. إليك قاعدتان:

السلف ( X ، Y ) :- الأصل ( X ، Y ). السلف ( X ، Y ) :- الأصل ( X ، Z ), السلف ( Z ، Y ).

يُقرأ الرمز :-على أنه "إذا"، وتُقرأ الفاصلة على أنها "و"، لذا فإن هذه القواعد تعني:

  • يُعتبر X سلفًا لـ Y إذا كان X أحد والدي Y.
  • يُعتبر X سلفًا لـ Y إذا كان X أحد والدي Z، وكان Z سلفًا لـ Y.

يُعرَّف معنى البرنامج بأنه مجموعة جميع الحقائق التي يمكن استنتاجها باستخدام الحقائق الأولية والقواعد. ويُحدد معنى هذا البرنامج بالحقائق التالية:

الأب ( زركيس ، بروك ). الأب ( بروك ، داموكليس ). السلف ( زركيس ، بروك ). السلف ( بروك ، داموكليس ). السلف ( زركيس ، داموكليس ).

بعض تطبيقات Datalog لا تستنتج جميع الحقائق الممكنة، بل تجيب على الاستفسارات بدلاً من ذلك :

?- سلف ( xerces ، X ).

يسأل هذا الاستعلام: من هم جميع الكائنات X التي يعتبر xerces سلفًا لها؟ في هذا المثال، سيعيد الاستعلام brooke و damocles .

مقارنة بقواعد البيانات العلائقية

ترتبط مجموعة Datalog الفرعية غير التكرارية ارتباطًا وثيقًا بلغات الاستعلام الخاصة بقواعد البيانات العلائقية ، مثل SQL . يوضح الجدول التالي العلاقة بين مفاهيم Datalog والجبر العلائقي و SQL :

داتالوجالجبر العلائقيSQL
العلاقةالعلاقةطاولة
حقيقةمترابطة بيانيةصف
قاعدةغير متوفرعرض مادي
استفساريختاراستفسار

بصورة أكثر رسمية، يتوافق Datalog غير المتكرر تمامًا مع اتحادات الاستعلامات الاقترانية ، أو بشكل مكافئ، الجبر العلائقي الخالي من النفي.

بناء الجملة

يتكون برنامج Datalog من قائمة من القواعد ( بنود هورن ). [ 1 ] إذا كانت الثابت والمتغير مجموعتين قابلتين للعد من الثوابت والمتغيرات على التوالي، وكانت العلاقة مجموعة قابلة للعد من رموز المسندات ، فإن قواعد BNF التالية تعبر عن بنية برنامج Datalog:

< برنامج > ::= < قاعدة > < برنامج > | "" < قاعدة > ::= < ذرة > ":-" < قائمة-الذرات > "." < ذرة > ::= < علاقة > "(" < قائمة-المصطلحات > ")" < قائمة-الذرات > ::= < ذرة > | < ذرة > "," < قائمة-الذرات > | "" < مصطلح > ::= < ثابت > | < متغير > < قائمة-المصطلحات > ::= < مصطلح > | < مصطلح > "," < قائمة-المصطلحات > | "" 

تُعرف الذرات أيضًا بالقيم الحرفية:- . تُسمى الذرة الموجودة على يسار الرمز رأس القاعدة، بينما تُسمى الذرات الموجودة على يمينه جسم القاعدة . يجب أن يستوفي كل برنامج Datalog الشرط التالي: أن كل متغير يظهر في رأس القاعدة يظهر أيضًا في جسمها (يُسمى هذا الشرط أحيانًا بتقييد النطاق ). [ 1 ] [ 2 ]

هناك اصطلاحان شائعان لتسمية المتغيرات: كتابة المتغيرات بأحرف كبيرة، أو وضع علامة استفهام قبلها ?. [ 3 ]

لاحظ أنه وفقًا لهذا التعريف، لا يشمل Datalog النفي ولا التجميعات؛ انظر §  الإضافات لمزيد من المعلومات حول هذه التركيبات.

تُسمى القواعد التي لا تحتوي على عناصر في متنها حقائق . على سبيل المثال، القاعدة التالية هي حقيقة:

r ( x ) :- .

تُسمى مجموعة الحقائق قاعدة البيانات الامتدادية أو EDB لبرنامج Datalog. أما مجموعة الصفوف المحسوبة من خلال تقييم برنامج Datalog فتُسمى قاعدة البيانات القصديّة أو IDB .

سكر تركيبي

تُوسّع العديد من تطبيقات البرمجة المنطقية القواعد النحوية المذكورة أعلاه للسماح بكتابة الحقائق بدون الفاصلة :-، كما يلي:

r ( x ).

كما يسمح بعضها بكتابة العلاقات الصفرية بدون أقواس، كما يلي:

p :- q .

هذه مجرد اختصارات ( سكر نحوي )؛ ليس لها أي تأثير على دلالات البرنامج.

علم الدلالة

عالم هيربراند، وقاعدة، ونموذج برنامج داتالوج
برنامج
الحافة ( س ، ص ). الحافة ( ص ، ع ). المسار ( أ ، ب ) :- الحافة ( أ ، ب ). المسار ( أ ، ج ) :- المسار ( أ ، ب الحافة ( ب ، ج ).
عالم هيربراندx، y،z
قاعدة هيربراندedge(x, x)... edge(x, y)، ...، edge(z, z)... path(x, x)، ...path(z, z)
عارضة أزياء هيربراندedge(x, y)، edge(y, z)، path(x, y)، path(y, z)،path(x, z)

توجد ثلاثة مناهج شائعة الاستخدام لدراسة دلالات برامج داتالوج: المنهج النظري النموذجي ، والمنهج ذو النقطة الثابتة ، والمنهج النظري البرهاني . ويمكن إثبات تكافؤ هذه المناهج الثلاثة. [ 4 ]

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

نظرية النموذج

تُسمى القاعدة قاعدة أساسية إذا كانت جميع عناصرها (الرأس والجسم) أساسية. وتُعتبر القاعدة R2 مثالًا أساسيًا لقاعدة أخرى R1 إذا كانت R2 ناتجة عن استبدال جميع المتغيرات في R1 بثوابت . قاعدة هيربراند لبرنامج داتالوج هي مجموعة جميع العناصر الأساسية التي يمكن تكوينها باستخدام الثوابت الظاهرة في البرنامج. نموذج هيربراند لبرنامج داتالوج هو أصغر مجموعة جزئية من قاعدة هيربراند بحيث، لكل مثال أساسي لكل قاعدة في البرنامج، إذا كانت عناصر جسم القاعدة موجودة في المجموعة، فإن عناصر الرأس موجودة أيضًا. [ 5 ] تُعرّف دلالات نظرية النماذج نموذج هيربراند الأدنى بأنه معنى البرنامج.

النقطة الثابتة

ليكن I مجموعة القوى لقاعدة هيربراند لبرنامج P. عامل النتيجة المباشرة لـ P هو دالة T من I إلى I تضيف جميع الذرات الأرضية الجديدة التي يمكن اشتقاقها من قواعد البرنامج في خطوة واحدة. تحدد دلالات النقطة الثابتة الصغرى أن النقطة الثابتة الصغرى لـ T هي معنى البرنامج؛ وهذا يتطابق مع نموذج هيربراند الأدنى. [ 6 ]

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

نظرية البرهان

شجرة إثبات توضح اشتقاق الذرة الأرضية path(x, z)من البرنامج
الحافة ( س ، ص ). الحافة ( ص ، ع ). المسار ( أ ، ب ) :- الحافة ( أ ، ب ). المسار ( أ ، ج ) :- المسار ( أ ، ب الحافة ( ب ، ج ).

يُعرّف علم الدلالة القائم على نظرية البرهان معنى برنامج داتالوج بأنه مجموعة الحقائق مع أشجار البرهان المقابلة لها . وبشكل بديهي، تُظهر شجرة البرهان كيفية استخلاص حقيقة من حقائق وقواعد البرنامج.

قد يرغب المرء في معرفة ما إذا كانت ذرة أرضية معينة تظهر في نموذج هيربراند الأدنى لبرنامج داتالوج، ربما دون الاهتمام كثيرًا ببقية النموذج. تشير قراءة شاملة لأشجار البرهان الموصوفة أعلاه إلى خوارزمية لحساب نتائج هذه الاستعلامات . تُفيد هذه القراءة خوارزمية حل SLD ، التي تُشكل أساس تقييم لغة برولوج .

تقييم

هناك العديد من الطرق المختلفة لتقييم برنامج Datalog، ولكل منها خصائص أداء مختلفة.

استراتيجيات التقييم من القاعدة إلى القمة

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

التقييم الساذج

يُحاكي التقييم البسيط دلالات النقطة الثابتة لبرامج داتالوج. يستخدم التقييم البسيط مجموعة من "الحقائق المعروفة"، والتي تُهيأ بالحقائق الموجودة في البرنامج. ويستمر من خلال تعداد جميع الحالات الأساسية لكل قاعدة في البرنامج بشكل متكرر. إذا كانت كل ذرة في جسم الحالة الأساسية موجودة في مجموعة الحقائق المعروفة، تُضاف ذرة الرأس إلى مجموعة الحقائق المعروفة. تُكرر هذه العملية حتى الوصول إلى نقطة ثابتة، ولا يمكن استنتاج المزيد من الحقائق. يُنتج التقييم البسيط النموذج الأدنى الكامل للبرنامج. [ 7 ]

تقييم شبه ساذج

التقييم شبه الساذج هو استراتيجية تقييم تصاعدية يمكن أن تكون أسرع تقاربياً من التقييم الساذج. [ 8 ] في التقييم الساذج، قد يتم اكتشاف الحقائق نفسها مراراً وتكراراً، بينما يتجنب التقييم شبه الساذج هذا الحساب المتكرر من خلال العمل فقط مع الصفوف الجديدة التي تم إنشاؤها في التكرار السابق. [ 9 ]

اعتبارات الأداء

تم تقييم محرك Datalog المتوازي على الحاسوب العملاق Theta في مختبر Argonne الوطني . [ 10 ]

يُقيّم كلٌّ من التقييم الساذج والتقييم شبه الساذج قواعد Datalog التكرارية من خلال تطبيقها بشكل متكرر على مجموعة من الحقائق المعروفة حتى الوصول إلى نقطة ثابتة. في كل تكرار، تُنفَّذ القواعد لخطوة واحدة فقط، أي بشكل غير تكراري. وكما ذُكر سابقًا ، تتوافق كل قاعدة Datalog غير تكرارية تمامًا مع استعلام اقتراني . لذلك، فإن العديد من التقنيات المُستخدمة في نظرية قواعد البيانات لتسريع الاستعلامات الاقترانية قابلة للتطبيق على التقييم التصاعدي لـ Datalog، مثل:

تُطبَّق العديد من هذه التقنيات في محركات Datalog الحديثة التي تعتمد على منهجية من الأسفل إلى الأعلى، مثل Soufflé . وتقوم بعض محركات Datalog بدمج قواعد بيانات SQL مباشرةً. [ 18 ]

يُعدّ التقييم التصاعدي لـ Datalog قابلاً للتوازي أيضاً . وتنقسم محركات Datalog المتوازية عموماً إلى نموذجين:

استراتيجيات التقييم من أعلى إلى أسفل

يُعد حل SLD سليمًا وكاملاً لبرامج Datalog.

مجموعات سحرية

تبدأ استراتيجيات التقييم من أعلى إلى أسفل باستعلام أو هدف . تستطيع استراتيجيات التقييم من أسفل إلى أعلى الإجابة على الاستعلامات بحساب النموذج الأدنى الكامل ومطابقة الاستعلام معه، لكن هذه الطريقة قد تكون غير فعالة إذا كانت الإجابة تعتمد فقط على مجموعة فرعية صغيرة من النموذج الكامل. تأخذ خوارزمية المجموعات السحرية برنامج Datalog واستعلامًا، وتنتج برنامجًا أكثر كفاءة يحسب نفس الإجابة على الاستعلام مع الاستمرار في استخدام التقييم من أسفل إلى أعلى. [ 24 ] وقد ثبت أن أحد متغيرات خوارزمية المجموعات السحرية ينتج برامج، عند تقييمها باستخدام التقييم شبه الساذج ، تكون بنفس كفاءة التقييم من أعلى إلى أسفل. [ 25 ]

تعقيد

تُصاغ مسألة القرار لتقييم Datalog على النحو التالي: "بالنظر إلى برنامج Datalog P مقسم إلى مجموعة من الحقائق (EDB) E ومجموعة من القواعد R ، وذرة أساسية A ، هل A في النموذج الأدنى لـ P ؟" في هذه الصياغة، توجد ثلاثة اختلافات في التعقيد الحسابي لتقييم برامج Datalog: [ 26 ]

  • تعقيد البيانات هو تعقيد مشكلة القرار عندما تكون A و E مدخلات و R ثابتة.
  • تعقيد البرنامج هو تعقيد مشكلة القرار عندما تكون A و R مدخلات و E ثابتة.
  • التعقيد المُجمّع هو تعقيد مشكلة القرار عندما تكون A و E و R مدخلات.

فيما يتعلق بتعقيد البيانات، تُعدّ مسألة القرار في لغة Datalog مسألةً كاملةً من فئة P (انظر النظرية 4.4 في [ 26 ] ). تعني اكتمالية P لتعقيد البيانات وجود استعلام Datalog ثابت يكون تقييمه كاملاً من فئة P. يستند البرهان إلى مترجم Datalog الفوقي لبرامج المنطق الافتراضي.

فيما يتعلق بتعقيد البرنامج، فإن مسألة القرار هي مسألة كاملة من حيث الوقت (EXPTIME-complete ). على وجه الخصوص، ينتهي تقييم برامج Datalog دائمًا؛ Datalog ليست مسألة كاملة من حيث تورينج .

بعض الإضافات إلى لغة Datalog لا تحافظ على حدود التعقيد هذه. بل إن الإضافات المُطبقة في بعض محركات Datalog ، مثل أنواع البيانات الجبرية، قد تجعل اللغة الناتجة كاملة تورينج.

الإضافات

أُجريت العديد من التوسعات على لغة Datalog، مثل دعم النفي، والدوال التجميعية ، والمتباينات، والسماح بالبرمجة كائنية التوجه ، أو السماح باستخدام الفصل كعناوين للجمل . لهذه التوسعات تأثيرات كبيرة على دلالات اللغة وعلى تنفيذ المفسر المقابل.

لغة داتالوج هي مجموعة فرعية نحوية من لغة برولوج ، وتشمل داتالوج الانفصالية ، وبرمجة مجموعات الإجابات ، وداتالوج زد ، وبرمجة منطق القيود . عند تقييم برنامج داتالوج كبرنامج مجموعة إجابات، فإنه ينتج مجموعة إجابات واحدة، وهي بالضبط نموذجه الأدنى. [ 27 ]

تُوسّع العديد من تطبيقات Datalog نطاق Datalog بميزات إضافية؛ راجع قسم  محركات Datalog لمزيد من المعلومات.

تجميع

يمكن توسيع Datalog لدعم الدوال التجميعية . [ 28 ]

من أبرز محركات Datalog التي تُنفذ عملية التجميع ما يلي:

النفي

إن إضافة النفي إلى لغة Datalog تُعقّد دلالاتها، مما يؤدي إلى ظهور لغات واستراتيجيات تقييم جديدة كليًا. على سبيل المثال، اللغة الناتجة عن إضافة النفي إلى دلالات النموذج المستقر هي بالضبط برمجة مجموعات الإجابات .

يمكن إضافة النفي الطبقي إلى لغة Datalog مع الحفاظ على دلالاتها النموذجية ودلالاتها ذات النقطة الثابتة. ومن أبرز محركات Datalog التي تُطبّق النفي الطبقي ما يلي:

مقارنة مع لغة البرمجة برولوج

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

على عكس لغة برولوج، داتالوج

  • لا يسمح باستخدام المصطلحات المعقدة كوسائط للمسندات ، على سبيل المثال، p(x, y)مقبول ولكن ليس p(f(x), y)،
  • لا يسمح بالنفي،
  • يتطلب ذلك أن يظهر كل متغير يظهر في رأس الجملة أيضًا في قيمة حرفية في جسم الجملة.

تتناول هذه المقالة بشكل أساسي لغة داتالوج بدون نفي (انظر أيضًا بناء الجملة ودلالات البرمجة المنطقية §  النفي ). مع ذلك، يُعد النفي الطبقي إضافة شائعة إلى داتالوج؛ وتقارن القائمة التالية بين لغة برولوج ولغة داتالوج مع النفي الطبقي. داتالوج مع النفي الطبقي

  • كما أنه لا يسمح باستخدام المصطلحات المعقدة كوسائط للمسندات .
  • يشترط أن يظهر كل متغير يظهر في رأس الجملة أيضاً في عنصر موجب (أي غير منفي) في متن الجملة.
  • يشترط أن يظهر كل متغير يظهر في صيغة سلبية في متن الجملة في صيغة إيجابية في متن الجملة نفسها. [ 31 ]

التعبيرية

تُعمّم لغة Datalog العديد من لغات الاستعلام الأخرى. على سبيل المثال، يمكن التعبير عن الاستعلامات الاقترانية واتحاد الاستعلامات الاقترانية باستخدام Datalog. كما يمكن لـ Datalog التعبير عن استعلامات المسار العادية .

عندما ننظر إلى قواعد البيانات المرتبة ، أي قواعد البيانات التي تحتوي على علاقة ترتيب على نطاقها النشط ، فإن نظرية إيمرمان-فاردي تشير إلى أن القدرة التعبيرية لـ Datalog هي تحديدًا قدرة فئة PTIME : يمكن التعبير عن خاصية ما في Datalog إذا وفقط إذا كانت قابلة للحساب في وقت متعدد الحدود. [ 32 ]

تُطرح مسألة التقييد في لغة داتالوج، عند إعطاء برنامج داتالوج، سؤالًا حول ما إذا كان هذا البرنامج مقيدًا ، أي ما إذا كان بالإمكان تقييد أقصى عمق للتكرار الذي يتم الوصول إليه عند تقييم البرنامج على قاعدة بيانات مُدخلة بقيمة ثابتة. بعبارة أخرى، يسأل هذا السؤال عما إذا كان من الممكن إعادة كتابة برنامج داتالوج كبرنامج غير تكراري، أو، بشكل مكافئ، كاتحاد استعلامات اقترانية . يُعد حل مسألة التقييد في برامج داتالوج العشوائية غير قابل للتقرير [ 33 ] ، ولكن يمكن جعله قابلًا للتقرير عن طريق حصره في أجزاء معينة من لغة داتالوج.

محركات تسجيل البيانات

تُعرف الأنظمة التي تُنفذ لغات مستوحاة من لغة داتالوج، سواءً كانت مُترجمات أو مُفسرات أو مكتبات أو لغات برمجة خاصة بالمجال مُضمنة ، باسم مُحركات داتالوج . غالبًا ما تُنفذ مُحركات داتالوج امتدادات للغة داتالوج، مُضيفةً إليها أنواع بيانات إضافية ، أو واجهات وظائف خارجية ، أو دعمًا للشبكات المُعرّفة من قِبل المستخدم . قد تُتيح هذه الامتدادات كتابة برامج غير مُنتهية أو غير مُعرّفة بشكل جيد.

فيما يلي قائمة مختصرة بالأنظمة التي تعتمد إما على لغة Datalog أو توفر مترجمًا لها:

البرمجيات الحرة/المصادر المفتوحة

قائمة بمحركات تسجيل البيانات التي تُعد برامج مجانية و/أو مفتوحة المصدر
اسمسنة الإصدار الأخيرمكتوب فيرخصةمصادر البياناتوصف
بيانات أبك2023جافابي إس ديمحرك تسجيل البيانات الذي يُنفذ خوارزميات التقييم الشائعة؛ مصمم ليكون قابلاً للتوسيع، وللاستخدام البحثي، والتعليمي.
صعود2023الصدأرخصة MITلغة برمجة منطقية (مشابهة لـ Datalog) مضمنة في Rust عبر وحدات الماكرو، تدعم Lattice وبنية بيانات مخصصة.
bddbddb2007جافارخصة جنو العمومية العامة المحدودةتم تصميم تطبيق Datalog للاستعلام عن بايت كود Java بما في ذلك تحليل النقاط إلى البرامج الكبيرة في Java؛ باستخدام BDDs داخليًا.
برعم (زهرة)2017روبيBSD 3-Clauseلغة برمجة خاصة بلغة روبي (Ruby DSL) للبرمجة باستخدام بنيات تركز على البيانات، وتعتمد على امتداد ديدالوس (Dedalus ) لـ Datalog الذي يضيف بُعدًا زمنيًا إلى المنطق.
كاسكالوغ2014كلوجرأباتشي 2.0يمكن الاستعلام عن أنظمة إدارة قواعد البيانات الأخرىمكتبة لمعالجة البيانات والاستعلام عنها للغة كلوجر وجافا، مصممة للاستخدام على هادوب
كلينغو2024لغة سي++رخصة MITنظام برمجة مجموعات الإجابات الذي يدعم Datalog كحالة خاصة؛ يكفي برنامج Grounder Gringo المستقل الخاص به لـ Datalog العادي
قاعدة المفاهيم2025برولوج/سي++/جافاBSD 2-Clauseنظام قاعدة بيانات استنتاجي وموجه للكائنات للنمذجة المفاهيمية والنمذجة الفوقية، والذي يتضمن مُقيِّم استعلامات Datalog
المرجان1997لغة سي++ملكية خاصة، مجانية لبعض الاستخدامات، مفتوحة المصدرنظام قاعدة بيانات استنتاجي مكتوب بلغة C++ مع تقييم شبه بدائي لبيانات السجل. تم تطويره بين عامي 1988 و1997.
كريب2023الصدأأباتشي 2.0 أو MITمكتبة Rust للتعبير عن الاستدلالات الشبيهة بـ Datalog، استنادًا إلى وحدات الماكرو الإجرائية.
داتافروج2019الصدأأباتشي 2.0 أو MITمحرك تسجيل بيانات خفيف الوزن مصمم ليتم تضمينه في برامج Rust أخرى
داتافن2016مضربمفتوح المصدر، لا توجد رخصة في المستودعلغة برمجة وظيفية عممت لغة Datalog على الشبكات شبهية
داتا هايك2024كلوجررخصة إكليبس العامة 1.0قاعدة بيانات مدمجة (في الذاكرة أو ملف)نسخة معدلة من DataScript مع واجهة خلفية متينة تعتمد على شجرة المسافر ، باستخدام Datalog كلغة استعلام
داتاليفن2024كلوجررخصة إكليبس العامة 1.0روابط LMDBنسخة معدلة من DataScript مُحسّنة للتخزين الدائم LMDB، باستخدام Datalog كلغة استعلام
داتالوج (إرلانج)2019إرلانغأباتشي 2.0مكتبة لدعم استعلامات Datalog في لغة Erlang، مع تمثيل البيانات كتدفقات من الصفوف.
داتالوج (MITRE)2016لغة لوارخصة جنو العمومية العامة المحدودةنظام قاعدة بيانات استنتاجي خفيف الوزن، مصمم ليكون صغير الحجم وقابل للاستخدام على الأجهزة ذات الذاكرة المحدودة
داتالوج (أو كاميل)2019أوكاميلBSD 2-clauseتطبيق Datalog في الذاكرة للغة OCaml يتميز بخوارزميات من الأسفل إلى الأعلى ومن الأعلى إلى الأسفل
داتالوج (راكت)2022مضربأباتشي 2.0 أو MITحزمة مضرب لاستخدام Datalog
نظام داتالوج التعليمي2025مقدمةرخصة جنو العمومية العامة المحدودةموصلات نظام إدارة قواعد البياناتتطبيق مفتوح المصدر مخصص لتعليم لغة Datalog و SQL [ 34 ]
داتا سكريبت2024كلوجررخصة إكليبس العامة 1.0قاعدة بيانات في الذاكرةقاعدة بيانات غير قابلة للتغيير تعمل في متصفح، باستخدام لغة Datalog كلغة استعلام
داتوميك2024كلوجرمصدر مغلق؛ تم إصدار الملفات الثنائية بموجب ترخيص Apache 2.0روابط لـ DynamoDB و Cassandra و PostgreSQL وغيرهاقاعدة بيانات موزعة تعمل على بنى الحوسبة السحابية؛ تستخدم لغة Datalog كلغة استعلام
DDlog2021الصدأرخصة MITمحرك Datalog تزايدي، يعمل في الذاكرة، ومكتوب بلغة Rust؛ يعتمد على مكتبة تدفق البيانات التفاضلي [ 35 ]
DLV2023لغة سي++ملكية خاصة، مجانية لبعض الاستخداماتنظام برمجة مجموعة الإجابات الذي يدعم Datalog كحالة خاصة
دينا12013هاسكلرخصة جنو العمومية العامة الإصدار 3لغة برمجة تصريحية تستخدم Datalog لبرمجة الذكاء الاصطناعي الإحصائي؛ لا تستخدم الإصدارات اللاحقة من Dyna لغة Datalog.
فليكس2024جافاأباتشي 2.0لغة برمجة وظيفية ومنطقية مستوحاة من لغة Datalog، ومُوسّعة بشبكات مُعرّفة من قِبل المستخدم ووظائف ترشيح/نقل أحادية اللون
غراال2018جافاCeCILL الإصدار 2.1استيراد ملفات RDF ، استيراد ملفات CSV ، موصلات أنظمة إدارة قواعد البياناتمجموعة أدوات جافا مخصصة للاستعلام عن قواعد المعرفة ضمن إطار القواعد الوجودية (المعروفة أيضًا باسم التبعيات المولدة للصفوف أو Datalog+/-).
Inter4QL2020لغة سي++بي إس ديمترجم للغة استعلام قواعد البيانات القائمة على منطق رباعي القيم، ويدعم لغة Datalog كحالة خاصة.
قزحية2016جافارخصة جنو العمومية العامة المحدودة الإصدار 2.1نظام برمجة منطقية يدعم لغة Datalog والنفي في إطار دلالات راسخة؛ ودعم نظام الملفات العلائقية RDFS
جينا2024جافاأباتشي 2.0استيراد RDFإطار عمل للويب الدلالي يتضمن تطبيق Datalog كجزء من محرك القواعد للأغراض العامة؛ متوافق مع RDF
فسد2024يذهبأباتشي 2.0لغة برمجة لبرمجة قواعد البيانات الاستنتاجية، تدعم امتدادًا لـ Datalog
maplib2025الصدأأباتشي 2.0 ، ملكية خاصة لبعض الاستخداماتاستيراد ملفات RDF ، إطارات بيانات Polarsإطار عمل للويب الدلالي مكتوب بلغة بايثون يدعم الاستدلال باستخدام داتالوج للرسوم البيانية المعرفية بصيغة RDF
ناغا2021كلوجررخصة إكليبس العامة 1.0قاعدة بيانات رسوم بيانية من نوع أساميمحرك استعلام يقوم بتنفيذ استعلامات Datalog على قاعدة بيانات الرسم البياني؛ يعمل في المتصفحات (الذاكرة)، أو على JVM (الذاكرة/الملفات)، أو بشكل أصلي (الذاكرة/الملفات).
نيمو2024الصدأأباتشي 2.0 أو MITاستيراد ملفات RDF ، استيراد ملفات CSVمحرك قواعد في الذاكرة لتحليل مخططات المعرفة وتحويلات قواعد البيانات؛ متوافق مع RDF و SPARQL ؛ يدعم tgds
pyDatalog2015بايثونرخصة جنو العمومية العامة المحدودةموصلات قواعد البيانات من بايثونمكتبة بايثون لتفسير استعلامات داتالوج
RDFox2025لغة سي++ملكية خاصة، مجانية لبعض الاستخداماتقاعدة بيانات في الذاكرة، استيراد RDF ، استيراد CSV ، موصلات DBMSمخزن ثلاثي RDF قائم على الذاكرة الرئيسية مع استدلال Datalog؛ يدعم التقييم التزايدي وإعدادات التوافر العالي
سوشالايت2016جافاأباتشي 2.0روابط HDFSنسخة من Datalog ومحرك لتحليل الرسوم البيانية واسعة النطاق
سوفليه2023لغة سي++UPL الإصدار 1.0استيراد ملفات CSV ، وربط SQLite3محرك Datalog مصمم أصلاً لتحليل البرامج الثابتة للتطبيقات؛ يتم تجميع مجموعات القواعد إما إلى برامج C++ أو تفسيرها.
tclbdd2015تي سي إلبي إس ديتنفيذ Datalog قائم على مخططات القرار الثنائية ؛ مصمم لدعم تطوير مترجم محسّن لـ Tcl [ 36 ]
قاعدة بيانات الطرفية2024برولوج / رستأباتشي 2.0قاعدة بيانات رسومية ومخزن مستندات، يتميز أيضًا بلغة استعلام تعتمد على Datalog
XSB2022جرخصة جنو العمومية العامة المحدودةنظام برمجة منطقية وقاعدة بيانات استنتاجية قائم على لغة برولوج مع جدولة توفر إنهاءً وكفاءةً تشبه لغة داتالوج، بما في ذلك التقييم التزايدي [ 37 ].
XTDB (المعروفة سابقًا باسم Crux )2024كلوجرMPL 2.0روابط لـ Apache Kafka وغيرهاقاعدة بيانات غير قابلة للتغيير مع إمكانية السفر عبر الزمن، تم استخدام لغة Datalog كلغة استعلام في XTDB 1.x (قد يتغير ذلك في XTDB 2.x)
مينيغراف2026الصدأأباتشي 2.0 أو MITيدعم بيئات تشغيل متعددة بما في ذلك WASM وAndroid وiOS والمنصات الأصلية مثل Linux وWindows وMac. كما يوفر روابط لغوية للغات C وJava وPython وNode.js.قاعدة بيانات رسومية ثنائية الزمن مفتوحة المصدر وقابلة للتضمين من نوع Datalog. تدعم الاستعلامات الزمنية الصحيحة، واستعلامات وقت المعاملة، والاستعلامات ثنائية الزمن الكاملة في محرك استعلام Datalog.

البرامج غير المجانية

  • توفر FoundationDB ربطًا مجانيًا لقاعدة البيانات لـ pyDatalog، مع برنامج تعليمي حول كيفية استخدامه. [ 38 ]
  • مساحة البيانات الدلالية Leapsight (LSD) هي قاعدة بيانات استنتاجية موزعة توفر توافرًا عاليًا، وتحملًا للأعطال، وسهولة في التشغيل، وقابلية للتوسع. تستخدم LSD لغة Leaplog (وهي تطبيق لـ Datalog) للاستعلام والاستدلال، وقد تم تطويرها بواسطة Leapsight. [ 39 ]
  • LogicBlox ، وهو تطبيق تجاري لـ Datalog يستخدم في تطبيقات تخطيط البيع بالتجزئة والتأمين عبر الإنترنت.
  • Profium Sense هي قاعدة بيانات رسومية أصلية متوافقة مع RDF مكتوبة بلغة Java. وهي توفر دعم تقييم Datalog للقواعد التي يحددها المستخدم.
  • .QL ، وهو إصدار تجاري موجه للكائنات من Datalog أنشأه Semmle لتحليل شفرة المصدر للكشف عن الثغرات الأمنية. [ 40 ]
  • SecPAL هي لغة سياسة أمنية طورتها شركة مايكروسوفت للأبحاث . [ 41 ]
  • Stardog هي قاعدة بيانات رسومية ، تم تنفيذها بلغة Java . وهي توفر دعمًا لـ RDF وجميع ملفات تعريف OWL 2 ، مما يوفر إمكانيات استدلال واسعة النطاق، بما في ذلك تقييم datalog.
  • StrixDB: مخزن رسوم بيانية RDF تجاري، متوافق مع SPARQL، مزود بواجهة برمجة تطبيقات Lua وقدرات استدلال Datalog. يمكن استخدامه كوحدة نمطية لخادم HTTP ( خادم Apache HTTP ) أو بشكل مستقل (مع العلم أن الإصدارات التجريبية تخضع لرخصة Perl الفنية 2.0).

الاستخدامات والتأثير

لغة داتالوج محدودة التعبيرية إلى حد كبير. فهي ليست كاملة تورينج ، ولا تتضمن أنواع البيانات الأساسية كالأعداد الصحيحة أو السلاسل النصية . هذا التبسيط جذاب من الناحية النظرية، ولكنه يعني أن داتالوج بحد ذاتها نادراً ما تُستخدم كلغة برمجة أو لغة تمثيل معرفي . [ 42 ] تُنفذ معظم محركات داتالوج امتدادات جوهرية للغة داتالوج. ومع ذلك، فإن داتالوج لها تأثير قوي على هذه التطبيقات، ولا يُكلف العديد من المؤلفين أنفسهم عناء التمييز بينها وبين داتالوج كما هو موضح في هذه المقالة. وبناءً على ذلك، تشمل التطبيقات التي نناقشها في هذا القسم تطبيقات واقعية للغات المبنية على داتالوج.

تم تطبيق Datalog على مشاكل في تكامل البيانات ، واستخراج المعلومات ، والشبكات ، والأمن ، والحوسبة السحابية ، والتعلم الآلي . [ 43 ] [ 44 ] طورت جوجل إضافةً لـ Datalog لمعالجة البيانات الضخمة . [ 45 ]

استُخدمت لغة Datalog في تحليل البرامج الثابتة . [ 46 ] كما استُخدمت لهجة Soufflé لكتابة تحليلات المؤشرات للغة Java وتحليل تدفق التحكم للغة Scheme . [ 47 ] [ 48 ] دُمجت Datalog مع مُحلِّلات SMT لتسهيل كتابة بعض التحليلات الثابتة. [ 49 ] وتُعد لهجة Flix مناسبة أيضًا لكتابة تحليلات البرامج الثابتة. [ 50 ]

تتضمن بعض أنظمة قواعد البيانات واسعة الانتشار أفكارًا وخوارزميات طُوّرت للغة Datalog. على سبيل المثال، يتضمن معيار SQL:1999 الاستعلامات المتكررة ، كما أن خوارزمية المجموعات السحرية (التي طُوّرت في الأصل لتقييم استعلامات Datalog بشكل أسرع) مُطبّقة في قاعدة بيانات DB2 من IBM . [ 51 ]

تاريخ

تعود أصول لغة داتالوج إلى بدايات البرمجة المنطقية ، لكنها برزت كمجال مستقل حوالي عام 1977 عندما نظم هيرفيه غالير وجاك مينكر ورشة عمل حول المنطق وقواعد البيانات . [ 52 ] يُنسب إلى ديفيد ماير ابتكار مصطلح داتالوج. [ 53 ]

انظر أيضاً

ملحوظات

  1. 1 2 سيري، جوتلوب وتانكا 1989 ، ص. 146.
  2. ^ ايسنر، جايسون. فيلاردو، ناثانيال دبليو (2011). "داينا: توسيع سجل البيانات للذكاء الاصطناعي الحديث" . في دي مور، أويج؛ جوتلوب، جورج. فورش، تيم؛ البائعين ، أندرو (محررون). تم إعادة تحميل سجل البيانات . ملاحظات محاضرة في علوم الكمبيوتر. المجلد.  6702. برلين، هايدلبرغ: سبرينغر. ص 181 – 220. دوى : 10.1007 / 978-3-642-24206-9_11 . رقم ISBN  978-3-642-24206-9.
  3. ماير، ديفيد؛ تيكلي، ك. تونكاي؛ كيفر، مايكل؛ وارين، ديفيد س. (2018-09-01)، "داتالوج: المفاهيم والتاريخ والتوقعات" ، برمجة المنطق التصريحي: النظرية والأنظمة والتطبيقات ، المجلد 20، رابطة آلات الحوسبة ومورغان وكلايبول، الصفحات 3-100 ، doi : 10.1145/3191315.3191317 ، ISBN   978-1-970001-99-0، S2CID 69379310 ، تم استرجاعه في 2023-03-02 
  4. فان إمدن، إم إتش؛ كوالسكي، آر إيه (1976-10-01). "دلالات منطق المسند كلغة برمجة" . مجلة ACM . 23 (4): 733-742 . doi : 10.1145/321978.321991 . ISSN 0004-5411 . S2CID 11048276 .  
  5. ^ سيري وجوتلوب وتانكا 1989 ، ص. 149.
  6. ^ سيري وجوتلوب وتانكا 1989 ، ص. 150.
  7. ^ سيري وجوتلوب وتانكا 1989 ، ص. 154.
  8. ألفاريز-بيكالو، ماريو؛ إيرز-تايلور، أليكس؛ بيتون جونز، مايكل؛ أونغ، سي. إتش. لوك (2019). "إصلاح الحساب التزايدي: مشتقات النقاط الثابتة، والدلالات التكرارية لـ Datalog" . في كايريس، لويس (محرر). لغات البرمجة والأنظمة . سلسلة محاضرات في علوم الحاسوب. المجلد 11423. تشام: دار نشر سبرينغر الدولية. الصفحات 525-552 . doi : 10.1007/978-3-030-17184-1_19 . ISBN   978-3-030-17184-1. S2CID 53430789 . 
  9. ويلسي، ماكس. "داتالوج" . تحليل البرامج التصريحية وتحسينها CS294-260، ربيع 2024. تم الاسترجاع في 15-05-2026 .
  10. 1 2 جيلراي، توماس؛ ساهيبولامري، أراش؛ كومار، سيدهارث؛ ميكينسكي، كريستوفر (2022-11-21). "الاستنتاج الهيكلي المتوازي للبيانات من الرتبة العليا". arXiv : 2211.11573 [ cs.PL ].
  11. سوبوتيتش، بافلي؛ جوردان، هربرت؛ تشانغ، ليجون؛ فيكيت، آلان؛ شولز، برنارد (2018-10-01). "الاختيار التلقائي للفهرس لحسابات داتالوج واسعة النطاق" . وقائع مؤسسة VLDB . 12 (2): 141-153 . doi : 10.14778/3282495.3282500 . ISSN 2150-8097 . S2CID 53569679 .  
  12. أنطونياديس، توني؛ تريانتافيلو، قسطنطين؛ سماراغداكيس، يانيس (18 يونيو 2017). "نقل doop إلى Soufflé" . وقائع ورشة العمل الدولية السادسة لـ ACM SIGPLAN حول أحدث التقنيات في تحليل البرامج . SOAP 2017. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 25-30 . doi : 10.1145/3088515.3088522 . ISBN  978-1-4503-5072-3. S2CID 3074689 . "يقوم محرك LogicBlox بتحسين الاستعلام بشكل كامل."
  13. آرتش، صموئيل؛ هو، شياو وين؛ تشاو، ديفيد؛ سوبوتيتش، بافلي؛ شولز، برنارد (2022). "بناء مُحسِّن الربط لـ Soufflé" . في: فيلانويفا، أليسيا (محرر). توليف البرامج وتحويلها القائم على المنطق . سلسلة محاضرات في علوم الحاسوب. المجلد 13474. تشام: دار نشر سبرينغر الدولية. الصفحات 83-102 . doi : 10.1007/978-3-031-16767-6_5 . ISBN   978-3-031-16767-6.
  14. نابا، باتريك؛ تشاو، ديفيد؛ سوبوتيتش، بافلي؛ شولز، برنارد (2019). "علاقات التكافؤ المتوازية السريعة في مُصرّف داتالوج". المؤتمر الدولي الثامن والعشرون لعام 2019 حول البنى المتوازية وتقنيات التجميع (PACT) . الصفحات 82-96 . doi : 10.1109/PACT.2019.00015 . ISBN  978-1-7281-3613-4. S2CID 204827819 . 
  15. جوردان، هربرت؛ سوبوتيتش، بافلي؛ تشاو، ديفيد؛ شولز، برنارد (17 فبراير 2019). "بري: شجرة بحث متخصصة لـ Datalog المتزامن" . وقائع ورشة العمل الدولية العاشرة حول نماذج البرمجة وتطبيقاتها للمعالجات متعددة النوى والمعالجات ذات النوى الكثيرة . نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 31-40 . doi : 10.1145/3303084.3309490 . ISBN  978-1-4503-6290-0. S2CID 239258588 . 
  16. وايلي، جون؛ أفوتس، دزينتارس؛ كاربين، مايكل؛ لام، مونيكا س. (2005). "استخدام داتالوج مع مخططات القرار الثنائية لتحليل البرامج" . في: يي، كوانغكون (محرر). لغات البرمجة والأنظمة . سلسلة محاضرات في علوم الحاسوب. المجلد 3780. برلين، هايدلبرغ: سبرينغر. الصفحات 97-118 . doi : 10.1007/11575467_8 . ISBN   978-3-540-32247-4. S2CID 5223577 . 
  17. هودر، كريستوف؛ بيورنر، نيكولاي؛ دي مورا، ليوناردو (2011). "μZ - محرك فعال للنقاط الثابتة مع القيود" . في: جوبالاكريشنان، غانيش؛ قدير، شاز (محرران). التحقق بمساعدة الحاسوب . سلسلة محاضرات في علوم الحاسوب. المجلد 6806. برلين، هايدلبرغ: سبرينغر. الصفحات 457-462 . doi : 10.1007/978-3-642-22110-1_36 . ISBN   978-3-642-22110-1.
  18. فان، تشيوي؛ تشو، جيانكياو؛ تشانغ، زويو؛ البرغوثي، أوس؛ كوتريس، باراسكوس؛ باتيل، جيغنيش (10-12-2018). "توسيع نطاق معالجة سجلات البيانات في الذاكرة: ملاحظات وتقنيات". arXiv : 1812.03975 [ cs.DB ].
  19. شوفون، أحمد الرحمن؛ دايكن، لاندون ريتشارد؛ غرين، عوديد؛ غيلراي، توماس؛ كومار، سيدهارث (نوفمبر 2022). "تسريع تطبيقات داتالوج باستخدام cuDF". ورشة عمل IEEE/ACM لعام 2022 حول التطبيقات غير المنتظمة: البنى والخوارزميات (IA3) . IEEE. الصفحات 41-45 . doi : 10.1109/IA356718.2022.00012 . ISBN  978-1-6654-7506-8. S2CID 256565728 . 
  20. جوردان، هربرت؛ سوبوتيتش، بافلي؛ تشاو، ديفيد؛ شولز، برنارد (16 فبراير 2019). "شجرة B متخصصة لتقييم داتالوج المتزامن" . وقائع الندوة الرابعة والعشرين حول مبادئ وممارسات البرمجة المتوازية . PPoPP '19. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 327-339 . doi : 10.1145/3293883.3295719 . ISBN  978-1-4503-6225-2. S2CID 59617209 . 
  21. وو، جيا تشنغ؛ وانغ، جين؛ زانيولو، كارلو (11 يونيو 2022). "تحسين تقييم داتالوج المتكرر المتوازي على الأجهزة متعددة النوى" . وقائع المؤتمر الدولي لإدارة البيانات 2022. SIGMOD '22. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 1433-1446 . doi : 10.1145/3514221.3517853 . ISBN  978-1-4503-9249-5. S2CID 249578825 . تُطبّق هذه الأساليب فكرة التقييم المتوازي من الأسفل إلى الأعلى عن طريق تقسيم الجداول إلى أقسام منفصلة باستخدام دوال تمييزية، مثل التجزئة، حيث يتم بعد ذلك ربط كل قسم بأحد العمال المتوازيين. بعد كل تكرار، ينسق العمال فيما بينهم لتبادل الصفوف المُنشأة حديثًا عند الضرورة.
  22. شو، ماريان؛ كوتريس، باراسكوس؛ هاو، بيل؛ سوتشيو، دان (2012). "تحسين تقييم داتالوج شبه الساذج واسع النطاق في هادوب" . في: بارسيلو، بابلو؛ بيشلر، راينهارد (محرران). داتالوج في الأوساط الأكاديمية والصناعية . سلسلة محاضرات في علوم الحاسوب. المجلد 7494. برلين، هايدلبرغ: سبرينغر. الصفحات 165-176 . doi : 10.1007/978-3-642-32925-8_17 . ISBN   978-3-642-32925-8.
  23. شكابسكي، ألكسندر؛ يانغ، موهان؛ إنترلاندي، ماتيو؛ تشيو، هسوان؛ كوندي، تايسون؛ زانيولو، كارلو (14 يونيو 2016). "تحليلات البيانات الضخمة باستخدام استعلامات Datalog على Spark" . وقائع المؤتمر الدولي لإدارة البيانات 2016. SIGMOD '16. المجلد 2016. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 1135-1149 . doi : 10.1145/2882903.2915229 . ISBN   978-1-4503-3531-7. PMC 5470845 . PMID 28626296 .  
  24. بالبين، آي.؛ بورت، جي إس؛ راماموهاناراو، ك.؛ ميناكشي، ك. (1991-10-01). "حساب فعال للاستعلامات من الأسفل إلى الأعلى على قواعد البيانات الطبقية" . مجلة البرمجة المنطقية . 11 (3): 295-344 . doi : 10.1016/0743-1066(91)90030-S . ISSN 0743-1066 . 
  25. أولمان، جيه دي (29 مارس 1989). "النهج التصاعدي يتفوق على النهج التنازلي في داتالوج" . وقائع الندوة الثامنة لجمعية ACM SIGACT-SIGMOD-SIGART حول مبادئ أنظمة قواعد البيانات - PODS '89 . نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 140-149 . doi : 10.1145/73721.73736 . ISBN  978-0-89791-308-9. S2CID 13269547 . 
  26. 1 2 دانتسين، يفغيني؛ إيتر، توماس؛ غوتلوب، جورج؛ فورونكوف، أندريه (2001-09-01). "تعقيد وقدرة التعبير في البرمجة المنطقية" . مجلة ACM Computing Surveys . 33 (3): 374–425 . doi : 10.1145/502807.502810 . ISSN 0360-0300 . 
  27. بيمبينك، آرون؛ غرينبيرغ، مايكل؛ تشونغ، ستيفن (11 يناير 2023). "من SMT إلى ASP: مناهج قائمة على المُحلِّل لحل مشاكل توليف Datalog كاختيار قاعدة" . وقائع مؤتمر ACM حول لغات البرمجة . 7 (POPL): 7:185–7:217. doi : 10.1145/3571200 . S2CID 253525805 . 
  28. زانيولو، كارلو؛ يانغ، موهان؛ داس، أريام؛ شكابسكي، ألكسندر؛ كوندي، تايسون؛ إنترلاندي، ماتيو (سبتمبر 2017). "دلالات النقطة الثابتة وتحسين برامج داتالوج المتكررة مع التجميعات*" . نظرية وممارسة البرمجة المنطقية . 17 ( 5-6 ): 1048-1065 . arXiv : 1707.05681 . doi : 10.1017/S1471068417000436 . ISSN 1471-0684 . S2CID 6272867 .  
  29. "الفصل 7. القواعد - دليل مرجعي لبرنامج LogicBlox 3.10" . developer.logicblox.com . تاريخ الاسترجاع: 4 مارس 2023 .
  30. "6.4. النفي - دليل مرجعي لبرنامج LogicBlox 3.10" . developer.logicblox.com . تم الاطلاع عليه بتاريخ 4 مارس 2023 ."بالإضافة إلى ذلك، لا يُسمح بالنفي إلا عندما تستطيع المنصة تحديد طريقة لتصنيف جميع القواعد والقيود التي تستخدم النفي."
  31. مايكل لام؛ د. سين مين لي. "داتالوج" . مقرر CS 157A . جامعة ولاية سان خوسيه، قسم علوم الحاسوب. مؤرشف من الأصل بتاريخ 25-03-2017.
  32. كولايتيس، فوكيون ج.؛ فاردي، موشيه ي. (2 أبريل 1990). "حول القدرة التعبيرية لـ Datalog: أدوات ودراسة حالة" . وقائع الندوة التاسعة لجمعية ACM SIGACT-SIGMOD-SIGART حول مبادئ أنظمة قواعد البيانات . ACM. الصفحات 61-71 . doi : 10.1145/298514.298542 . ISBN  978-0-89791-352-2.{{cite book}}تم |journal=تجاهله ( مساعدة )
  33. هيلبراند، جيرد ج؛ كانيلاكس، باريس س؛ ميرسون، هاري ج؛ فاردي، موشيه ي (1995-11-01). "مسائل التقييد غير القابلة للتقرير لبرامج داتالوج" . مجلة برمجة المنطق . 25 (2): 163-190 . doi : 10.1016/0743-1066(95)00051-K . ISSN 0743-1066 . 
  34. ساينز-بيريز (2011)، "DES: نظام قاعدة بيانات استنتاجي"، الملاحظات الإلكترونية في علوم الحاسوب النظرية ، 271 ، ES : 63-78 ، doi : 10.1016/j.entcs.2011.02.011.
  35. تدفق البيانات التفاضلي ، يوليو 2022
  36. كيني، كيفن ب. (12-14 نوفمبر 2014). مخططات القرار الثنائية، والجبر العلائقي، وDatalog: الاستدلال الاستنتاجي لـ Tcl (ملف PDF) . المؤتمر السنوي الحادي والعشرون لـ Tcl/Tk. بورتلاند، أوريغون . تاريخ الاسترجاع: 29 ديسمبر 2015 .
  37. نظام XSB، الإصدار 3.7.x، المجلد 1: دليل المبرمج (PDF).
  38. البرنامج التعليمي لسجل بيانات FoundationDB{{citation}}: CS1 maint: deprecated archiveal service ( link ) .
  39. "Leapsight" . مؤرشف من الأصل بتاريخ 2018-11-11.
  40. ^ سيميل كيو إل ، 18 سبتمبر 2019.
  41. "SecPAL" . أبحاث مايكروسوفت . مؤرشف من الأصل بتاريخ 23-02-2007.
  42. ليفشيتز، فلاديمير. "أسس البرمجة المنطقية". مبادئ تمثيل المعرفة 3 (1996): 69-127. "إن الإمكانيات التعبيرية لـ [Datalog] محدودة للغاية بحيث لا تسمح بتطبيقات ذات مغزى في تمثيل المعرفة."
  43. هوانغ، غرين، ولو، "Datalog والتطبيقات الناشئة"، SIGMOD 2011 (ملف PDF) ، جامعة كاليفورنيا في ديفيس{{citation}}: CS1 maint: multiple names: authors list ( link ) .
  44. مي، هونغ يوان؛ تشين، غوانغ هوي؛ شو، مين جي؛ إيسنر، جيسون (2020). "النمذجة الزمنية العصبية عبر الزمن: نمذجة زمنية مستنيرة من خلال المواصفات المنطقية". وقائع المؤتمر الدولي للتعلم الآلي 2020. arXiv : 2006.16723 .
  45. ^ تشين ، بريان. دينكلاج، دانييل فون؛ إرسيجوفاك، فوك؛ هوكينز، بيتر. ميلر، مارك س. أوه، فرانز؛ أولستون، كريستوفر. بيريرا، فرناندو (2015). الكرة، توماس. بوديك، راستيسلاف؛ كريشنامورثي، شريرام؛ ليرنر، بنيامين س. موريسيت، جريج (محرران). يدالوغ: استكشاف المعرفة على نطاق واسع . القمة الأولى حول التقدم في لغات البرمجة (SNAPL 2015). إجراءات لايبنيز الدولية في مجال المعلوماتية (LIPIcs). المجلد. 32. داغستوهل، ألمانيا: شلوس داغستوهل-ليبنيز-سينتروم فور إنفورماتيك. الصفحات من 63 إلى 78. دوى : 10.4230/LIPIcs.SNAPL.2015.63 . رقم ISBN   978-3-939897-80-4.
  46. وايلي، جون؛ أفوتس، دزينتارس؛ كاربين، مايكل؛ لام، مونيكا س. (2005). "استخدام داتالوج مع مخططات القرار الثنائية لتحليل البرامج" . في: يي، كوانغكون (محرر). لغات البرمجة والأنظمة . سلسلة محاضرات في علوم الحاسوب. المجلد 3780. برلين، هايدلبرغ: سبرينغر. الصفحات 97-118 . doi : 10.1007/11575467_8 . ISBN   978-3-540-32247-4. S2CID 5223577 . 
  47. شولز، برنارد؛ جوردان، هربرت؛ سوبوتيتش، بافلي؛ ويستمان، تيل (17 مارس 2016). "حول التحليل السريع للبرامج واسعة النطاق في داتالوج" . وقائع المؤتمر الدولي الخامس والعشرين حول بناء المترجمات . CC 2016. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 196-206 . doi : 10.1145/2892208.2892226 . ISBN  978-1-4503-4241-4. S2CID 7531543 . 
  48. أنطونياديس، توني؛ تريانتافيلو، قسطنطين؛ سماراغداكيس، يانيس (18 يونيو 2017). "نقل doop إلى Soufflé" . وقائع ورشة العمل الدولية السادسة لـ ACM SIGPLAN حول أحدث التقنيات في تحليل البرامج . SOAP 2017. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. الصفحات 25-30 . doi : 10.1145/3088515.3088522 . ISBN  978-1-4503-5072-3. S2CID 3074689 . 
  49. بيمبينك، آرون؛ غرينبيرغ، مايكل؛ تشونغ، ستيفن (13 نوفمبر 2020). "فورميولوج: داتالوج للتحليل الثابت القائم على الترجمة الآلية الإحصائية" . وقائع مؤتمر ACM حول لغات البرمجة . 4 (OOPSLA): 141:1–141:31. doi : 10.1145/3428209 . S2CID 226961727 . 
  50. ^ مادسن، ماغنوس. يي مينغ هو. لوتك ، أوندريج (2016/06/02). "من Datalog إلى flix: لغة تعريفية للنقاط الثابتة على الشبكات" . إشعارات ACM SIGPLAN . 51 (6): 194– 208. دوى : 10.1145 / 2980983.2908096 . ISSN 0362-1340 . 
  51. غريز؛ غو؛ ليو؛ زوزارتي (2004). "أخذ عينات الاستعلام في قاعدة بيانات DB2 العالمية" (ملف PDF) . وقائع مؤتمر ACM SIGMOD الدولي لإدارة البيانات لعام 2004 - SIGMOD '04 . ص 839. doi : 10.1145/1007568.1007664 . ISBN  978-1581138597. S2CID 7775190 . 
  52. ^ جالير ، هيرفيه. مينكر، جون جاك، محرران. (1978)، “قواعد المنطق والبيانات، ندوة حول المنطق وقواعد البيانات، مركز الدراسات والبحوث في تولوز، 1977”، التقدم في نظرية قواعد البيانات ، نيويورك: مطبعة بلينوم، ISBN 978-0-306-40060-5.
  53. أبيتبول، سيرج ؛ هول، ريتشارد؛ فيانو، فيكتور (1995)، أسس قواعد البيانات ، أديسون-ويسلي، ص 305، ISBN  9780201537710.

مراجع