2009-12-16 15 views
29

मैं एक लंबे समय तक पाइथन डेवलपर हूं और हाल ही में प्रोलॉग से पेश किया गया है। मुझे कुछ प्रकार के कार्यों के लिए रिलेशनशिप नियमों का उपयोग करने की अवधारणा पसंद है, और मैं इसे अपने प्रदर्शन में जोड़ना चाहता हूं।पायथन में रिलेशनल/लॉजिक प्रोग्रामिंग?

क्या Python में तर्क प्रोग्रामिंग के लिए कोई अच्छी पुस्तकालय हैं? मैं गूगल पर कुछ खोज किया है लेकिन केवल निम्न पाया:

jtauber's blog series on relational_python

कुछ अन्य लोगों की तुलना करने के ... धन्यवाद प्यार करोगे!

-aj

+2

वाह आदमी ... मुझे किसी के लिए सम्मान मिला जो प्रोलॉग भी पढ़ सकता है! +1 – Perpetualcoder

+0

मैंने इसे भी एक कोशिश की: https://github.com/evertheylen/logicpy। यह बहुत ज्यादा पायथन जादू और उपयोग करने के लिए बहुत बोझिल के बीच एक अच्छा संतुलन खोजने की कोशिश करता है। – evertheylen

उत्तर

11

शायद आप गूगल चाहिए "पायथन में तर्क प्रोग्रामिंग"। Pyke होनहार लग रहा है:

Pyke एक ज्ञान आधारित अनुमान इंजन (विशेषज्ञ प्रणाली) 100% पायथन में लिखा प्रदान करके एक अजगर समुदाय के लिए तर्क प्रोग्रामिंग के रूप (Prolog से प्रेरित) परिचय देता है।

Prolog के विपरीत, Pyke आप अजगर से Pyke आह्वान और अपने विशेषज्ञ प्रणाली नियमों के भीतर अजगर बयानों और भाव मिलाना करने की इजाजत दी अजगर के साथ एकीकृत करता है।

+0

@ रिची, एक उपयोगी पैकेज की तरह दिखता है। सूचक के लिए धन्यवाद! –

+0

पायके के पृष्ठ से: "पायके ने 100% पायथन में लिखित ज्ञान-आधारित अनुमान इंजन (विशेषज्ञ प्रणाली) प्रदान करके पायथन समुदाय को लॉजिक प्रोग्रामिंग (प्रोलॉग द्वारा प्रेरित) का एक रूप प्रस्तुत किया है।" – heltonbiker

2

तुम भी डी, जो अजगर को संबंधों कहते हैं पर दे सकता है: http://www.quicksort.co.uk

+0

डी डी का कार्यान्वयन डी है (जैसा कि तिथि की किताबों में वर्णित है?) –

+0

यह (वस्तु/प्रकार विनिर्देशों के बिना) – greg

+0

बहुत बुरा लगता है यह मृत लगता है। प्रतीत होता है –

2

Pyrolog में अजगर (या बल्कि RPython) में हाल ही में एक Prolog कार्यान्वयन। यह अभी भी प्रयोगात्मक है।

+0

यह बहुत अच्छा है, लेकिन क्या यह अजगर के साथ इंटर-ऑपरेट करता है?यह pypy के शीर्ष पर लिखा गया है, जो एक पायथन कार्यान्वयन (प्रसिद्ध) का समर्थन करता है, लेकिन यह मुझे स्पष्ट नहीं है कि इंटर-ऑप का तात्पर्य है। भी, जबकि मैं यहां हूं, http://blog.herraiz.org/archives/238 कुछ साल पुराना है, लेकिन विभिन्न विकल्पों को सूचीबद्ध किया गया है (यह पायरोलॉग इंटर-ऑप का तात्पर्य है, लेकिन यह भी लगता है जैसे इसे पिल्ला की वजह से माना जाता है, जो मैं पूछताछ कर रहा हूं)। –

+1

प्रूफ-ऑफ-अवधारणा बल्कि। तो soruces के साथ जा रहा है कि अनुमति दे सकता है। – false

9

आप pyDatalog, एक तर्क प्रोग्रामिंग पुस्तकालय है कि मैं अजगर को लागू करने Datalog के लिए विकसित का उपयोग कर सकते है। यह तर्क खंडों का उपयोग करके संबंधपरक डेटाबेस से पूछने के लिए स्क्लेक्लेमी के साथ भी काम करता है।

+2

आपको यह खुलासा करने की आवश्यकता है कि यह ** आपका ** प्रोजेक्ट है! – ThiefMaster

2

तुम भी जाँच करनी चाहिए PyLog:

http://cdsoft.fr/pylog/

यह एक बहुत ही स्वच्छ और सरल वाक्य रचना और कार्यान्वयन है।

2

LogPy पायथन में एक रिलेशनल प्रोग्रामिंग भाषा miniKanren का कार्यान्वयन है। यह क्लोजर में प्रमुख तर्क प्रोग्रामिंग समाधान core.logic की परंपरा में निम्नानुसार है। LogPy को पूर्व-मौजूदा कोडबेस के साथ अंतःक्रियाशीलता के लिए डिज़ाइन किया गया था।

संबंधित मुद्दे