سؤال

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

لقد بحثت عن جزءا لا يتجزأ من تطبيقات جافا على حاسوب و وجدت عدد منهم ، كل مع القليل جدا من الوثائق.بلدي (متواضعة) معايير الاختيار هي:

  • ينبغي ادراجها في جافا (مثليمكن أن يكون المجمعة مع حزمة java بدلا من مطالبة أي مواطن المنشآت على البرامج الخارجية)
  • بسيطة لاستخدام واجهة من جافا (من أجل الشروع في الخصومات ، فحص النتائج ، إضافة القواعد)
  • مع على الأقل بضعة أمثلة على كيفية استخدامها
  • لا يجب بالضرورة أن تكون فاتحة ، ولكن المنطق/القيد لغات البرمجة مع المعايير المذكورة أعلاه يناسب احتياجات بلدي أيضا.

ما هي الخيارات المتاحة لدي و ما هي مزايا وعيوب ؟

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

المحلول

وفق ويكيبيديا, ، الإصدارات التالية من Prolog لها واجهات Java.لقد قمت بربط الصفحات الرئيسية لهم:

حظا سعيدا مع بحثك!

نصائح أخرى

SWI prolog يبدو أن هناك تطبيق شائع جدًا يحتوي على واجهة جافا كما يفعل SiCStus والذي سيكون أسهل من استخدام JNI لإنشاء مثيل في عملية Java الخاصة بك.لقد استخدمت كلاهما من C منذ فترة طويلة وأوصي بهما.أفضّل أن يكون SWI لأنه مفتوح المصدر ومن تجربتي بحكم الأمر الواقع تطبيق.

يبدو أن الوثائق الخاصة بواجهة Java الخاصة بـ SWI كافية، كما أن عملية التضمين واضحة تمامًا.

لقد كنت بحاجة إلى القيام بنفس الشيء منذ عامين.إستعملت واجهة SWI والتي تسمى JPL.يتيح لك تحميل ملف Prolog والتأكيد عليه والاستعلام عنه.إنه يتطلب تثبيت SWI Prolog ولكن هذه ليست مشكلة على الإطلاق.برولوج SWI هو متاح للعديد من المنصات.

لقد قمت أيضًا بتجربة البدائل التي تم تنفيذها بنسبة 100% في Java ولم تتطلب برامج خارجية.كانت جميعها عربات التي تجرها الدواب أو يصعب استخدامها.لا تضيع وقتك.

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

تقدم LPA خادم LPA Intelligence Server كوسيلة لدمج محرك Prolog الخاص بها ضمن مجموعة كاملة من اللغات السائدة بما في ذلك Java و.Net وما إلى ذلك.

كلايف

http://www.lpa.co.uk/int.htm

اثنين من البرولوجات التجارية مكتوبة بلغة جافا:مينيرفا بواسطة IF Computer Japan وJekejeke.وكلاهما قريب جدًا من ISO.

كلوجر هي لغة شبيهة بـ Lisp تعتمد على JVM وتحتوي على مكتبة (core.logic) دعم البرمجة القائمة على المنطق والقيد.لدى Clojure أيضًا عدد كبير من المرافق لإنشاء فئات جافا و العمل مع كود جافا, لذا فإن التفاعل بين اللغتين أمر تافه.

يمكنك أيضًا إلقاء نظرة على محرك برول التي قمت بإنشائها.يسمح لك بتضمين Prolog في برامج Java الخاصة بك (لكنه ليس سريعًا جدًا)

بروفا 3.0 http://www.prova.ws على وشك الانتهاء.ومع ذلك، فهو ليس مجرد Prolog آخر ولكنه مزيج من أنماط البرمجة، على وجه الخصوص، مفيد لتكامل Java ثنائي الاتجاه السهل، وبرمجة الوكيل التفاعلي، والتكامل مع ESB، ومنطق سير العمل، ومعالجة الأحداث.هذا الإصدار عبارة عن إعادة كتابة كاملة من الصفر، لذا فإن بعض الميزات القديمة، مثل تكامل OWL، مفقودة، ولكن لا بد أن تعود في المراجعة التالية.

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

آخر جدير بالاهتمام الخيار كنت مؤخرا قد جاء عبر JSetL.ليس حاسوب, ولكن القيد البرمجة مكتبة جافا, مع دعم المنطق المتغيرات ، توحيد القيد حل غير الحتمية.

http://prmat.math.unipr.it/~gianfr/JSetL/index.html

هناك عدد من تطبيقات Prolog في Java.إنها ليست سريعة جدًا، ولكنها ملائمة للاستخدام من داخل Java.الأمثلة هي: TuProlog أوPrologCafeيمكنك أيضًا إلقاء نظرة على أطروحة البكالوريوس التالية حول موضوعتنفيذ وتحليل برامج Prolog في جافا.

البروفيسوربول تارو متاح من صفحته عدة تطبيقات

جيني برولوج

برولوج النواة

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