From 1bcb2489ab4af0973915b702e09175795612e4b0 Mon Sep 17 00:00:00 2001 From: Xin He Date: Thu, 1 Jan 2026 09:02:36 +0000 Subject: [PATCH] Lesson 2 Animals.ipynb dependent pyknow library is deprecated, change library to a compatible version. --- lessons/2-Symbolic/Animals.ipynb | 49 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/lessons/2-Symbolic/Animals.ipynb b/lessons/2-Symbolic/Animals.ipynb index 57e73bb3..b20c6ce2 100644 --- a/lessons/2-Symbolic/Animals.ipynb +++ b/lessons/2-Symbolic/Animals.ipynb @@ -229,9 +229,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Using PyKnow for Forward Inference\n", + "## Using Experta for Forward Inference\n", "\n", - "In the next example, we will try to implement forward inference using one of the libraries for knowledge representation, [PyKnow](https://github.com/buguroo/pyknow/). **PyKnow** is a library for creating forward inference systems in Python, which is designed to be similar to classical old system [CLIPS](http://www.clipsrules.net/index.html). \n", + "In the next example, we will try to implement forward inference using one of the libraries for knowledge representation, [Experta](https://github.com/nilp0inter/experta). **Experta** is a library for creating forward inference systems in Python, which is designed to be similar to classical old system [CLIPS](http://www.clipsrules.net/index.html). \n", "\n", "We could have also implemented forward chaining ourselves without many problems, but naive implementations are usually not very efficient. For more effective rule matching a special algorithm [Rete](https://en.wikipedia.org/wiki/Rete_algorithm) is used." ] @@ -247,32 +247,31 @@ "name": "stdout", "output_type": "stream", "text": [ - "Collecting git+https://github.com/buguroo/pyknow/\n", - " Cloning https://github.com/buguroo/pyknow/ to /tmp/pip-req-build-3cqeulyl\n", - " Running command git clone --filter=blob:none --quiet https://github.com/buguroo/pyknow/ /tmp/pip-req-build-3cqeulyl\n", - " Resolved https://github.com/buguroo/pyknow/ to commit 48818336f2e9a126f1964f2d8dc22d37ff800fe8\n", - " Preparing metadata (setup.py) ... \u001b[?25ldone\n", - "\u001b[?25hCollecting frozendict==1.2\n", - " Using cached frozendict-1.2.tar.gz (2.6 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25ldone\n", - "\u001b[?25hCollecting schema==0.6.7\n", - " Using cached schema-0.6.7-py2.py3-none-any.whl (14 kB)\n", - "Building wheels for collected packages: pyknow, frozendict\n", - " Building wheel for pyknow (setup.py) ... \u001b[?25ldone\n", - "\u001b[?25h Created wheel for pyknow: filename=pyknow-1.7.0-py3-none-any.whl size=34228 sha256=b7de5b09292c4007667c72f69b98d5a1b5f7324ff15f9dd8e077c3d5f7aade42\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-k7jpave7/wheels/81/1a/d3/f6c15dbe1955598a37755215f2a10449e7418500d7bd4b9508\n", - " Building wheel for frozendict (setup.py) ... \u001b[?25ldone\n", - "\u001b[?25h Created wheel for frozendict: filename=frozendict-1.2-py3-none-any.whl size=3148 sha256=2863d55c240d2409cddf05ccfe600591f8478681549fc97555c47c90dc6bb160\n", - " Stored in directory: /home/rg/.cache/pip/wheels/49/ac/f8/cb8120244e710bdb479c86198b03c7b08c3c2d3d2bf448fd6e\n", - "Successfully built pyknow frozendict\n", - "Installing collected packages: schema, frozendict, pyknow\n", - "Successfully installed frozendict-1.2 pyknow-1.7.0 schema-0.6.7\n" + "Collecting git+https://github.com/nilp0inter/experta\n", + " Cloning https://github.com/nilp0inter/experta to /tmp/pip-req-build-7qurtwk3\n", + " Running command git clone --filter=blob:none --quiet https://github.com/nilp0inter/experta /tmp/pip-req-build-7qurtwk3\n", + " Resolved https://github.com/nilp0inter/experta to commit c6d5834b123861f5ae09e7d07027dc98bec58741\n", + " Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hRequirement already satisfied: frozendict~=2.4.6 in /opt/conda/envs/ai4beg/lib/python3.12/site-packages (from experta==1.9.5.dev1) (2.4.7)\n", + "Collecting schema~=0.6.7 (from experta==1.9.5.dev1)\n", + " Downloading schema-0.6.8-py2.py3-none-any.whl.metadata (14 kB)\n", + "Downloading schema-0.6.8-py2.py3-none-any.whl (14 kB)\n", + "Building wheels for collected packages: experta\n", + " Building wheel for experta (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for experta: filename=experta-1.9.5.dev1-py3-none-any.whl size=34804 sha256=888c459512a5e713f4b674caa9a0f96cfdf07ec0d6eb56cc318ce0653d218014\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-1eeii9zy/wheels/3d/e8/bb/22d7956359603fa8dd679aa09f5b8efb3f29991c3986fdc787\n", + "Successfully built experta\n", + "Installing collected packages: schema, experta\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/2\u001b[0m [experta]\n", + "\u001b[1A\u001b[2KSuccessfully installed experta-1.9.5.dev1 schema-0.6.8\n" ] } ], "source": [ "import sys\n", - "!{sys.executable} -m pip install git+https://github.com/buguroo/pyknow/" + "!{sys.executable} -m pip install git+https://github.com/nilp0inter/experta" ] }, { @@ -283,8 +282,8 @@ }, "outputs": [], "source": [ - "from pyknow import *\n", - "#import pyknow" + "from experta import *\n", + "#import experta" ] }, {