Генерация (нет ;-)) и проверка заданий по алгоритмическим структурам при помощи логического вывода на онтологии
Приближение 1. Алгоритмические структуры и трасса пошагового исполнения программы (Algorithmic structures and a trace of stepwise program execution)
Status: proof-of-concept prototype.
Задача: по данному алгоритму и фрагменту трассы найти все ошибки и сгенерировать понятные человеку объяснения по каждой из них.
(Task: find all mistakes using this algorithm and a trace fragment and generate explanations for each of them that are clear to people.)
- note that all the examples (see
handcrafted_traces/\*.txt
) designed in Russian language.
- OWL 2 + SWRL (tutorial)
- Pellet 2.3 reasoner / Apache Jena / batched SPARQL Update queries / SWI-Prolog + rdf11 lib
- Ontology & rules editor: Stanford Protégé 5.5 (official docs, SWRL docs)
- Owlready2 Python library ships with Pellet2 (docs)
- Python 3.6+ (tested on 3.7, 3.9)
- Stanford Protégé 5.5 [optional]
pip3 install -r requirements.txt
python3 -u web_server.py
(Или start-web-server.bat
на Windows)
python3 -u web_server.py host=109.206.169.214
python3 -u web_server.py port=2020
python3 -u web_server.py host=localhost port=1234
Небольшое замечание: Включение режима DEBUG
не вынесено в параметры командной строки, т.к. по умолчанию этот режим активируется только на Windows (см. далее).
В options.py
можно задать несколько опций, который влияют на работу веб-сервиса, в зависимости от платформы, на которой производится запуск:
-
DEBUG
-True
: запуск в режиме отладки (медленный development server - включен только на Windows),False
: используется быстрый кросс-платформенный сервер waitress (зато не показывает ошибки в процессе работы сервера) -
RUN_LOCALLY
- запускать на localhost (True
) или в конфигурации для некоторого VDS (False
).
Порт по умолчанию задан как 2020
, подробнее - см. конец файла web_server.py
.
После запуска веб-сервера на localhost:2020
становятся доступны несколько страниц:
/demo
- Демонстрационная страница, подготовленная для ISWC2020 (может уже не работать корректно)/api_test
- Описание API (пока что 2 запроса) и кнопки для их тестирования- и др. оговоренные точки доступа.