{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This notebooks aims to demonstrate some functionality of the python package ." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sat Feb 13 22:22:24 2021\n" ] }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 1;\n", " var nbb_unformatted_code = \"import time\\n\\nprint(time.ctime())\\n%load_ext nb_black\\n%load_ext ipydex.displaytools\";\n", " var nbb_formatted_code = \"import time\\n\\nprint(time.ctime())\\n%load_ext nb_black\\n%load_ext ipydex.displaytools\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import time\n", "\n", "print(time.ctime())\n", "%load_ext nb_black\n", "%load_ext ipydex.displaytools" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 2;\n", " var nbb_unformatted_code = \"from IPython.display import SVG, display, HTML\\n\\nfrom semantictools import core as smt\\nimport nxv\\nimport importlib\\n\\n# for easier co-development of library and notebook\\nimportlib.reload(smt)\";\n", " var nbb_formatted_code = \"from IPython.display import SVG, display, HTML\\n\\nfrom semantictools import core as smt\\nimport nxv\\nimport importlib\\n\\n# for easier co-development of library and notebook\\nimportlib.reload(smt)\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import SVG, display, HTML\n", "\n", "from semantictools import core as smt\n", "import nxv\n", "import importlib\n", "\n", "# for easier co-development of library and notebook\n", "importlib.reload(smt)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "69" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 3;\n", " var nbb_unformatted_code = \"len(smt.cache.wikidata_query_cache)\";\n", " var nbb_formatted_code = \"len(smt.cache.wikidata_query_cache)\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "len(smt.cache.wikidata_query_cache)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'item': {'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q7827200'},\n", " 'itemLabel': {'xml:lang': 'en',\n", " 'type': 'literal',\n", " 'value': 'torsion-free module'},\n", " 'id': 'Q7827200',\n", " 'label': 'torsion-free module'}]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 4;\n", " var nbb_unformatted_code = \"# basic query\\n\\nsmt.get_superclasses(\\\"Q1426191\\\")\";\n", " var nbb_formatted_code = \"# basic query\\n\\nsmt.get_superclasses(\\\"Q1426191\\\")\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# basic query\n", "\n", "smt.get_superclasses(\"Q1426191\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(G.number_of_nodes()) := 13" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "---" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 5;\n", " var nbb_unformatted_code = \"base_node = smt.Node({\\\"id\\\": \\\"Q125977\\\", \\\"label\\\": \\\"vector space\\\"})\\n\\n\\nG = smt.build_graph(base_node, n=3)\\ncustom_display(\\\"(G.number_of_nodes())\\\", (G.number_of_nodes())); display({\\\"text/plain\\\": \\\"---\\\"}, raw=True)\";\n", " var nbb_formatted_code = \"base_node = smt.Node({\\\"id\\\": \\\"Q125977\\\", \\\"label\\\": \\\"vector space\\\"})\\n\\n\\nG = smt.build_graph(base_node, n=3)\\ncustom_display(\\\"(G.number_of_nodes())\\\", (G.number_of_nodes()))\\ndisplay({\\\"text/plain\\\": \\\"---\\\"}, raw=True)\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "base_node = smt.Node({\"id\": \"Q125977\", \"label\": \"vector space\"})\n", "\n", "\n", "G = smt.build_graph(base_node, n=3)\n", "G.number_of_nodes() ##:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 6;\n", " var nbb_unformatted_code = \"style = nxv.Style(\\n graph={\\\"rankdir\\\": \\\"TB\\\"},\\n node=lambda u, d: {\\n \\\"shape\\\": \\\"circle\\\" if not u.is_top_level else \\\"square\\\",\\n \\\"fixedsize\\\": True,\\n \\\"width\\\": 1,\\n \\\"fontsize\\\": 10,\\n },\\n edge=lambda u, v, d: {\\\"style\\\": \\\"solid\\\", \\\"arrowType\\\": \\\"normal\\\", \\\"label\\\": \\\"is a\\\"},\\n)\\n\\nsvg_data = nxv.render(G, style, format=\\\"svg\\\")\";\n", " var nbb_formatted_code = \"style = nxv.Style(\\n graph={\\\"rankdir\\\": \\\"TB\\\"},\\n node=lambda u, d: {\\n \\\"shape\\\": \\\"circle\\\" if not u.is_top_level else \\\"square\\\",\\n \\\"fixedsize\\\": True,\\n \\\"width\\\": 1,\\n \\\"fontsize\\\": 10,\\n },\\n edge=lambda u, v, d: {\\\"style\\\": \\\"solid\\\", \\\"arrowType\\\": \\\"normal\\\", \\\"label\\\": \\\"is a\\\"},\\n)\\n\\nsvg_data = nxv.render(G, style, format=\\\"svg\\\")\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "style = nxv.Style(\n", " graph={\"rankdir\": \"TB\"},\n", " node=lambda u, d: {\n", " \"shape\": \"circle\" if not u.is_top_level else \"square\",\n", " \"fixedsize\": True,\n", " \"width\": 1,\n", " \"fontsize\": 10,\n", " },\n", " edge=lambda u, v, d: {\"style\": \"solid\", \"arrowType\": \"normal\", \"label\": \"is a\"},\n", ")\n", "\n", "svg_data = nxv.render(G, style, format=\"svg\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "IPython.OutputArea.auto_scroll_threshold = 9999;\n", "\n", "// necessary to prevent auto scrolling for a long image\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 7;\n", " var nbb_unformatted_code = \"%%javascript\\nIPython.OutputArea.auto_scroll_threshold = 9999;\\n\\n// necessary to prevent auto scrolling for a long image\";\n", " var nbb_formatted_code = \"%%javascript\\nIPython.OutputArea.auto_scroll_threshold = 9999;\\n\\n// necessary to prevent auto scrolling for a long image\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%javascript\n", "IPython.OutputArea.auto_scroll_threshold = 9999;\n", "\n", "// necessary to prevent auto scrolling for a long image" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "G\n", "\n", "\n", "\n", "node0000\n", "\n", "Q125977\n", "vector space\n", "\n", "\n", "\n", "node0001\n", "\n", "Q472971\n", "space\n", "(mathematics)\n", "\n", "\n", "\n", "node0000->node0001\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0002\n", "\n", "Q1292333\n", "free module\n", "\n", "\n", "\n", "node0000->node0002\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0003\n", "\n", "Q36161\n", "set\n", "\n", "\n", "\n", "node0001->node0003\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0004\n", "\n", "Q942423\n", "projective\n", "module\n", "\n", "\n", "\n", "node0002->node0004\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0005\n", "\n", "Q5500272\n", "free object\n", "\n", "\n", "\n", "node0002->node0005\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0006\n", "\n", "Q217594\n", "class\n", "\n", "\n", "\n", "node0003->node0006\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0007\n", "\n", "Q246672\n", "mathematical\n", "object\n", "\n", "\n", "\n", "node0003->node0007\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0008\n", "\n", "Q864377\n", "multiset\n", "\n", "\n", "\n", "node0003->node0008\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0009\n", "\n", "Q5469988\n", "formalization\n", "\n", "\n", "\n", "node0003->node0009\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0010\n", "\n", "Q1426191\n", "flat module\n", "\n", "\n", "\n", "node0004->node0010\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0011\n", "\n", "Q2112502\n", "projective\n", "object\n", "\n", "\n", "\n", "node0004->node0011\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0012\n", "\n", "Q205464\n", "algebraic\n", "structure\n", "\n", "\n", "\n", "node0005->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 8;\n", " var nbb_unformatted_code = \"entity_links = dict(\\n [\\n (\\n node.id,\\n '{0}'.format(node.id),\\n )\\n for node in G.nodes.keys()\\n ]\\n)\\n\\n# insert links to wiki data urls\\nsvg_data = svg_data.decode(\\\"utf8\\\").format(**entity_links).encode(\\\"utf8\\\")\\n\\nsvg_fname = \\\"vectorspace_superclasses_l3.svg\\\"\\n\\nwith open(svg_fname, \\\"wb\\\") as svgfile:\\n svgfile.write(svg_data)\\n\\ndisplay(SVG(svg_data))\";\n", " var nbb_formatted_code = \"entity_links = dict(\\n [\\n (\\n node.id,\\n '{0}'.format(node.id),\\n )\\n for node in G.nodes.keys()\\n ]\\n)\\n\\n# insert links to wiki data urls\\nsvg_data = svg_data.decode(\\\"utf8\\\").format(**entity_links).encode(\\\"utf8\\\")\\n\\nsvg_fname = \\\"vectorspace_superclasses_l3.svg\\\"\\n\\nwith open(svg_fname, \\\"wb\\\") as svgfile:\\n svgfile.write(svg_data)\\n\\ndisplay(SVG(svg_data))\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "entity_links = dict(\n", " [\n", " (\n", " node.id,\n", " '{0}'.format(node.id),\n", " )\n", " for node in G.nodes.keys()\n", " ]\n", ")\n", "\n", "# insert links to wiki data urls\n", "svg_data = svg_data.decode(\"utf8\").format(**entity_links).encode(\"utf8\")\n", "\n", "svg_fname = \"vectorspace_superclasses_l3.svg\"\n", "\n", "with open(svg_fname, \"wb\") as svgfile:\n", " svgfile.write(svg_data)\n", "\n", "display(SVG(svg_data))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "vectorspace_superclasses_l3.svg" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 9;\n", " var nbb_unformatted_code = \"display(HTML(f\\\"{svg_fname}\\\"))\";\n", " var nbb_formatted_code = \"display(HTML(f\\\"{svg_fname}\\\"))\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(HTML(f\"{svg_fname}\"))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 1.83 ms, sys: 0 ns, total: 1.83 ms\n", "Wall time: 1.83 ms\n" ] }, { "data": { "text/plain": [ "(G.number_of_nodes()) := 69" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "---" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 10;\n", " var nbb_unformatted_code = \"%time G = smt.build_graph(base_node, n=13)\\ncustom_display(\\\"(G.number_of_nodes())\\\", (G.number_of_nodes())); display({\\\"text/plain\\\": \\\"---\\\"}, raw=True)\";\n", " var nbb_formatted_code = \"%time G = smt.build_graph(base_node, n=13)\\ncustom_display(\\\"(G.number_of_nodes())\\\", (G.number_of_nodes()))\\ndisplay({\\\"text/plain\\\": \\\"---\\\"}, raw=True)\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%time G = smt.build_graph(base_node, n=13)\n", "G.number_of_nodes() ##:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 11;\n", " var nbb_unformatted_code = \"svg_data = nxv.render(G, style, format=\\\"svg\\\")\";\n", " var nbb_formatted_code = \"svg_data = nxv.render(G, style, format=\\\"svg\\\")\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "svg_data = nxv.render(G, style, format=\"svg\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "G\n", "\n", "\n", "\n", "node0000\n", "\n", "Q125977\n", "vector space\n", "\n", "\n", "\n", "node0001\n", "\n", "Q472971\n", "space\n", "(mathematics)\n", "\n", "\n", "\n", "node0000->node0001\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0002\n", "\n", "Q1292333\n", "free module\n", "\n", "\n", "\n", "node0000->node0002\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0003\n", "\n", "Q36161\n", "set\n", "\n", "\n", "\n", "node0001->node0003\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0004\n", "\n", "Q942423\n", "projective\n", "module\n", "\n", "\n", "\n", "node0002->node0004\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0005\n", "\n", "Q5500272\n", "free object\n", "\n", "\n", "\n", "node0002->node0005\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0006\n", "\n", "Q217594\n", "class\n", "\n", "\n", "\n", "node0003->node0006\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0007\n", "\n", "Q246672\n", "mathematical\n", "object\n", "\n", "\n", "\n", "node0003->node0007\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0008\n", "\n", "Q864377\n", "multiset\n", "\n", "\n", "\n", "node0003->node0008\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0009\n", "\n", "Q5469988\n", "formalization\n", "\n", "\n", "\n", "node0003->node0009\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0010\n", "\n", "Q1426191\n", "flat module\n", "\n", "\n", "\n", "node0004->node0010\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0011\n", "\n", "Q2112502\n", "projective\n", "object\n", "\n", "\n", "\n", "node0004->node0011\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0012\n", "\n", "Q205464\n", "algebraic\n", "structure\n", "\n", "\n", "\n", "node0005->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0006->node0007\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0013\n", "\n", "Q16889133\n", "class\n", "\n", "\n", "\n", "node0006->node0013\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0014\n", "\n", "Q7184903\n", "abstract object\n", "\n", "\n", "\n", "node0007->node0014\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0008->node0007\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0015\n", "\n", "Q4393498\n", "representation\n", "\n", "\n", "\n", "node0009->node0015\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0016\n", "\n", "Q7827200\n", "torsion-free\n", "module\n", "\n", "\n", "\n", "node0010->node0016\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0017\n", "\n", "Q15975724\n", "object\n", "of\n", "a\n", "category\n", "\n", "\n", "\n", "node0011->node0017\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0018\n", "\n", "Q748349\n", "mathematical\n", "structure\n", "\n", "\n", "\n", "node0012->node0018\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0019\n", "\n", "Q99527517\n", "collection\n", "entity\n", "\n", "\n", "\n", "node0013->node0019\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0020\n", "\n", "Q488383\n", "object\n", "\n", "\n", "\n", "node0014->node0020\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0021\n", "\n", "Q930933\n", "relation\n", "\n", "\n", "\n", "node0015->node0021\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0022\n", "\n", "Q18848\n", "module\n", "\n", "\n", "\n", "node0016->node0022\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0023\n", "\n", "Q379825\n", "element\n", "\n", "\n", "\n", "node0017->node0023\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0018->node0007\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0024\n", "\n", "Q35120\n", "entity\n", "\n", "\n", "\n", "node0019->node0024\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0020->node0024\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0021->node0014\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0025\n", "\n", "Q181296\n", "abelian group\n", "\n", "\n", "\n", "node0022->node0025\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0026\n", "\n", "Q5358816\n", "element\n", "\n", "\n", "\n", "node0023->node0026\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0027\n", "\n", "Q83478\n", "group\n", "\n", "\n", "\n", "node0025->node0027\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0028\n", "\n", "Q1755242\n", "nilpotent group\n", "\n", "\n", "\n", "node0025->node0028\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0029\n", "\n", "Q19934355\n", "commutative\n", "monoid\n", "\n", "\n", "\n", "node0025->node0029\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0030\n", "\n", "Q39485777\n", "commutative\n", "Moufang\n", "loop\n", "\n", "\n", "\n", "node0025->node0030\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0031\n", "\n", "Q1948412\n", "morphism\n", "\n", "\n", "\n", "node0026->node0031\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0027->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0032\n", "\n", "Q208237\n", "monoid\n", "\n", "\n", "\n", "node0027->node0032\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0033\n", "\n", "Q765994\n", "group object\n", "\n", "\n", "\n", "node0027->node0033\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0034\n", "\n", "Q1196038\n", "groupoid\n", "\n", "\n", "\n", "node0027->node0034\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0035\n", "\n", "Q3022118\n", "inverse\n", "semigroup\n", "\n", "\n", "\n", "node0027->node0035\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0036\n", "\n", "Q5382940\n", "epigroup\n", "\n", "\n", "\n", "node0027->node0036\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0037\n", "\n", "Q6918890\n", "Moufang loop\n", "\n", "\n", "\n", "node0027->node0037\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0038\n", "\n", "Q759832\n", "solvable group\n", "\n", "\n", "\n", "node0028->node0038\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0029->node0032\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0039\n", "\n", "Q27672715\n", "commutative\n", "semigroup\n", "\n", "\n", "\n", "node0029->node0039\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0030->node0037\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0040\n", "\n", "Q39486222\n", "commutative loop\n", "\n", "\n", "\n", "node0030->node0040\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0041\n", "\n", "Q370502\n", "mapping\n", "\n", "\n", "\n", "node0031->node0041\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0042\n", "\n", "Q207348\n", "semigroup\n", "\n", "\n", "\n", "node0032->node0042\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0043\n", "\n", "Q719395\n", "category\n", "\n", "\n", "\n", "node0032->node0043\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0044\n", "\n", "Q2785361\n", "monoid object\n", "\n", "\n", "\n", "node0032->node0044\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0033->node0044\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0045\n", "\n", "Q6047782\n", "internal\n", "category\n", "\n", "\n", "\n", "node0033->node0045\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0034->node0043\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0046\n", "\n", "Q17077830\n", "groupoid object\n", "\n", "\n", "\n", "node0034->node0046\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0047\n", "\n", "Q3022119\n", "regular\n", "semigroup\n", "\n", "\n", "\n", "node0035->node0047\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0048\n", "\n", "Q7449422\n", "semigroup\n", "with\n", "involution\n", "\n", "\n", "\n", "node0035->node0048\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0036->node0042\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0049\n", "\n", "Q3836720\n", "loop\n", "\n", "\n", "\n", "node0037->node0049\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0050\n", "\n", "Q7784285\n", "thin group\n", "\n", "\n", "\n", "node0038->node0050\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0039->node0042\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0051\n", "\n", "Q5419309\n", "commutative\n", "magma\n", "\n", "\n", "\n", "node0039->node0051\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0052\n", "\n", "Q6806018\n", "medial magma\n", "\n", "\n", "\n", "node0039->node0052\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0040->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0040->node0049\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0053\n", "\n", "Q39653372\n", "commutative\n", "quasigroup\n", "\n", "\n", "\n", "node0040->node0053\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0054\n", "\n", "Q11348\n", "function\n", "\n", "\n", "\n", "node0041->node0054\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0055\n", "\n", "Q4164581\n", "semigroupoid\n", "\n", "\n", "\n", "node0042->node0055\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0056\n", "\n", "Q97152390\n", "partial\n", "semigroup\n", "\n", "\n", "\n", "node0042->node0056\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0057\n", "\n", "Q98099755\n", "flexible magma\n", "\n", "\n", "\n", "node0042->node0057\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0043->node0055\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0058\n", "\n", "Q7977957\n", "weak n-category\n", "\n", "\n", "\n", "node0043->node0058\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0044->node0017\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0045->node0018\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0046->node0045\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0059\n", "\n", "Q18206693\n", "E-dense\n", "semigroup\n", "\n", "\n", "\n", "node0047->node0059\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0048->node0042\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0060\n", "\n", "Q1503423\n", "quasigroup\n", "\n", "\n", "\n", "node0049->node0060\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0050->node0027\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0051->node0057\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0052->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0061\n", "\n", "Q679903\n", "magma\n", "\n", "\n", "\n", "node0052->node0061\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0053->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0053->node0051\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0053->node0060\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0062\n", "\n", "Q130901\n", "binary relation\n", "\n", "\n", "\n", "node0054->node0062\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0063\n", "\n", "Q629085\n", "multivalued\n", "function\n", "\n", "\n", "\n", "node0054->node0063\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0064\n", "\n", "Q1756942\n", "partial function\n", "\n", "\n", "\n", "node0054->node0064\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0065\n", "\n", "Q18386809\n", "partial algebra\n", "\n", "\n", "\n", "node0055->node0065\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0066\n", "\n", "Q18386814\n", "partial groupoid\n", "\n", "\n", "\n", "node0056->node0066\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0057->node0061\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0058->node0018\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0059->node0042\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0060->node0061\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0061->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0061->node0066\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0067\n", "\n", "Q203066\n", "relation\n", "\n", "\n", "\n", "node0062->node0067\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0068\n", "\n", "Q54940067\n", "serial relation\n", "\n", "\n", "\n", "node0063->node0068\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0064->node0062\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0065->node0012\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0066->node0065\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0067->node0003\n", "\n", "\n", "is a\n", "\n", "\n", "\n", "node0068->node0062\n", "\n", "\n", "is a\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 12;\n", " var nbb_unformatted_code = \"entity_links = dict(\\n [\\n (\\n node.id,\\n '{0}'.format(node.id),\\n )\\n for node in G.nodes.keys()\\n ]\\n)\\n\\n# insert links to wiki data urls\\nsvg_data = svg_data.decode(\\\"utf8\\\").format(**entity_links).encode(\\\"utf8\\\")\\n\\nsvg_fname = \\\"vectorspace_superclasses_l13.svg\\\"\\n\\nwith open(svg_fname, \\\"wb\\\") as svgfile:\\n svgfile.write(svg_data)\\n\\ndisplay(SVG(svg_data))\";\n", " var nbb_formatted_code = \"entity_links = dict(\\n [\\n (\\n node.id,\\n '{0}'.format(node.id),\\n )\\n for node in G.nodes.keys()\\n ]\\n)\\n\\n# insert links to wiki data urls\\nsvg_data = svg_data.decode(\\\"utf8\\\").format(**entity_links).encode(\\\"utf8\\\")\\n\\nsvg_fname = \\\"vectorspace_superclasses_l13.svg\\\"\\n\\nwith open(svg_fname, \\\"wb\\\") as svgfile:\\n svgfile.write(svg_data)\\n\\ndisplay(SVG(svg_data))\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "entity_links = dict(\n", " [\n", " (\n", " node.id,\n", " '{0}'.format(node.id),\n", " )\n", " for node in G.nodes.keys()\n", " ]\n", ")\n", "\n", "# insert links to wiki data urls\n", "svg_data = svg_data.decode(\"utf8\").format(**entity_links).encode(\"utf8\")\n", "\n", "svg_fname = \"vectorspace_superclasses_l13.svg\"\n", "\n", "with open(svg_fname, \"wb\") as svgfile:\n", " svgfile.write(svg_data)\n", "\n", "display(SVG(svg_data))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "vectorspace_superclasses_l13.svg" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 13;\n", " var nbb_unformatted_code = \"display(HTML(f\\\"{svg_fname}\\\"))\";\n", " var nbb_formatted_code = \"display(HTML(f\\\"{svg_fname}\\\"))\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(HTML(f\"{svg_fname}\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Save the wikidata query results to prevent unnecessary requests" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/tmp/tmpq4gm6bdi_semantictools_wdq_cache.pcl\n" ] }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 14;\n", " var nbb_unformatted_code = \"smt.cache.save_wdq_cache()\\n\\nprint(smt.cache.wdq_cache_path)\";\n", " var nbb_formatted_code = \"smt.cache.save_wdq_cache()\\n\\nprint(smt.cache.wdq_cache_path)\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "smt.cache.save_wdq_cache()\n", "\n", "print(smt.cache.wdq_cache_path)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 4 }