Вложенный запрос Пролога

#python #prolog

Вопрос:

Я вызываю одну функцию пролога, которая возвращает список. Я просматриваю список, используя цикл Python, и что-то делаю. В том же цикле, когда я улавливаю определенное условие, я вызываю другую функцию пролога. Я попытался выполнить этот код с помощью одного объекта пролога, но получил

«pyswip.пролог.Ошибка NestedQueryError: Последний запрос не был закрыт»

ошибка. Позже я решил использовать вторую переменную пролога для внутренних запросов. Даже имея два совершенно независимых объекта пролога (каждый из которых имеет свои собственные утверждения и вызовы для консультаций), я все равно получаю ту же ошибку. Может кто-нибудь показать мне, как этого добиться?

Большое спасибо, Ферда

Комментарии:

1. Я не использую Python с прологом, но меня интересует этот вопрос. Я обнаружил многопоточность при использовании swi-пролога в качестве встроенного движка , на который ответил Ян У. создатель и сопровождающий SWI-Пролога, поэтому проблема не в SWI-Прологе.

2. Вы смотрели, как некоторые тестовые примеры pyswip?

3. Привет, @Guy Coder спасибо за комментарии. Я проверил ссылку вчера вечером, я также прокомментировал некоторые строки кода, в которых он выдает nested_query ex. Однако я думаю, что эти строки были неправильными, потому что я все еще получаю некоторые ошибки. Я не знаю, что такое тестовые случаи pyswip. Я также проверю эту ссылку сейчас. Я напишу тебе позже..

4. Это также опубликовано на форуме SWI-Prolog

5. Да, я написал 🙂 Я изменил код python, чтобы быстро исправить ситуацию. Я использую временный список и просматриваю этот временный список вместо прямого просмотра результатов запроса.