From c754fc1da4032cc04719a57b38d3a46b1916e438 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me> Date: Sun, 5 Nov 2023 02:53:41 -0500 Subject: [PATCH] Added sparql example --- .gitignore | 1 + examples/sparql.ipynb | 253 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 254 insertions(+) create mode 100644 .gitignore create mode 100644 examples/sparql.ipynb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0fc44d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/.ipynb_checkpoints/ diff --git a/examples/sparql.ipynb b/examples/sparql.ipynb new file mode 100644 index 0000000..d6351f3 --- /dev/null +++ b/examples/sparql.ipynb @@ -0,0 +1,253 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "4d7d4c73-bd83-4017-abc6-ba394e63b8fb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><div class=\"magic\">Endpoint set to: http://dbpedia.org/sparql</div><div class=\"magic\">Label preferred languages: ['en']</div><div class=\"magic\">Logging set to DEBUG</div></div>" + ], + "text/plain": [ + "Endpoint set to: http://dbpedia.org/sparql\n", + "Label preferred languages: ['en']\n", + "Logging set to DEBUG\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%endpoint http://dbpedia.org/sparql\n", + "%lang en\n", + "\n", + "# This is optional, it would increase the log level.\n", + "# The default logfile (unless changed upon kernel installation) is [TMPDIR]/sparqlkernel.log, \n", + "# where [TMPDIR] is the platform default temporal directory\n", + "%log debug" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "94e96b72-bdb6-4e4f-82ff-1bb5c48821e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><div class=\"magic\">Request format: JSON</div><div class=\"magic\">Display: table</div></div>" + ], + "text/plain": [ + "Request format: JSON\n", + "Display: table\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><table><tr class=hdr><th>person</th>\n", + "<th>name</th></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Vincent_van_Gogh\" target=\"_other\">http://dbpedia.org/resource/Vincent_van_Gogh</a></td>\n", + "<td class=val>Vincent van Gogh</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Theo_van_Gogh_(art_dealer)\" target=\"_other\">http://dbpedia.org/resource/Theo_van_Gogh_(art_dealer)</a></td>\n", + "<td class=val>Theo van Gogh (art dealer)</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Theo_van_Gogh_(film_director)\" target=\"_other\">http://dbpedia.org/resource/Theo_van_Gogh_(film_director)</a></td>\n", + "<td class=val>Theo van Gogh (film director)</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Anna_van_Gogh-Kaulbach\" target=\"_other\">http://dbpedia.org/resource/Anna_van_Gogh-Kaulbach</a></td>\n", + "<td class=val>Anna van Gogh-Kaulbach</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Lieuwe_van_Gogh\" target=\"_other\">http://dbpedia.org/resource/Lieuwe_van_Gogh</a></td>\n", + "<td class=val>Lieuwe van Gogh</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Lothar_van_Gogh\" target=\"_other\">http://dbpedia.org/resource/Lothar_van_Gogh</a></td>\n", + "<td class=val>Lothar van Gogh</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Wil_van_Gogh\" target=\"_other\">http://dbpedia.org/resource/Wil_van_Gogh</a></td>\n", + "<td class=val>Wil van Gogh</td></tr></table><div class=\"tinfo\">Total: 7, Shown: 7</div></div>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%format json\n", + "%display table \n", + "\n", + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n", + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n", + "SELECT ?person ?name\n", + "WHERE {\n", + " ?person a foaf:Person .\n", + " ?person rdfs:label ?name\n", + " FILTER regex(?name,\"van gogh\",\"i\")\n", + " FILTER langMatches(lang(?name),\"en\")\n", + "} LIMIT 20" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cc024354-fc00-4221-8f73-54d7100d4837", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><div class=\"magic\">Request format: JSON</div><div class=\"magic\">Display: table<br/>Show Types: on</div></div>" + ], + "text/plain": [ + "Request format: JSON\n", + "Display: table\n", + "Show Types: on\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><table><tr class=hdr><th>prop</th><th>type</th>\n", + "<th>value</th><th>type</th></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/birthDate\" target=\"_other\">http://dbpedia.org/ontology/birthDate</a></td><td class=typ>uri</td>\n", + "<td class=val>07:51:23.983040</td><td class=typ>typed-literal</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/birthPlace\" target=\"_other\">http://dbpedia.org/ontology/birthPlace</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Zundert\" target=\"_other\">http://dbpedia.org/resource/Zundert</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/deathDate\" target=\"_other\">http://dbpedia.org/ontology/deathDate</a></td><td class=typ>uri</td>\n", + "<td class=val>15897-03-09T07:51:23.983040</td><td class=typ>typed-literal</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/deathPlace\" target=\"_other\">http://dbpedia.org/ontology/deathPlace</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Auvers-sur-Oise\" target=\"_other\">http://dbpedia.org/resource/Auvers-sur-Oise</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Camille_Pissarro\" target=\"_other\">http://dbpedia.org/resource/Camille_Pissarro</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Paul_Cézanne\" target=\"_other\">http://dbpedia.org/resource/Paul_Cézanne</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Paul_Gauguin\" target=\"_other\">http://dbpedia.org/resource/Paul_Gauguin</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Andries_Bonger\" target=\"_other\">http://dbpedia.org/resource/Andries_Bonger</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Anna_Boch\" target=\"_other\">http://dbpedia.org/resource/Anna_Boch</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Henri_de_Toulouse-Lautrec\" target=\"_other\">http://dbpedia.org/resource/Henri_de_Toulouse-Lautrec</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Qu_Yi_(actor)\" target=\"_other\">http://dbpedia.org/resource/Qu_Yi_(actor)</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Benedict_Cumberbatch\" target=\"_other\">http://dbpedia.org/resource/Benedict_Cumberbatch</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Deb_Talan\" target=\"_other\">http://dbpedia.org/resource/Deb_Talan</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/John_Simm\" target=\"_other\">http://dbpedia.org/resource/John_Simm</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Juan_Abelló\" target=\"_other\">http://dbpedia.org/resource/Juan_Abelló</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Jules_Michelet\" target=\"_other\">http://dbpedia.org/resource/Jules_Michelet</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Perry_Richardson_Bass\" target=\"_other\">http://dbpedia.org/resource/Perry_Richardson_Bass</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Petr_Pavlensky\" target=\"_other\">http://dbpedia.org/resource/Petr_Pavlensky</a></td><td class=typ>uri</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Richard_L._Feigen\" target=\"_other\">http://dbpedia.org/resource/Richard_L._Feigen</a></td><td class=typ>uri</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/ontology/wikiPageWikiLink\" target=\"_other\">http://dbpedia.org/ontology/wikiPageWikiLink</a></td><td class=typ>uri</td>\n", + "<td class=val><a href=\"http://dbpedia.org/resource/Robert_Kost\" target=\"_other\">http://dbpedia.org/resource/Robert_Kost</a></td><td class=typ>uri</td></tr></table><div class=\"tinfo\">Total: 473, Shown: 20</div></div>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%format json\n", + "%display table withtypes\n", + "\n", + "# We might have more than one triple pointing to the same object, so we group by object\n", + "# and take one arbitrary predicate\n", + "\n", + "SELECT (SAMPLE(?pred) AS ?prop) ?value\n", + "WHERE {\n", + "\n", + " # Places and dates\n", + " {\n", + " dbr:Vincent_van_Gogh ?pred ?value .\n", + " { ?pred rdfs:range xsd:date }\n", + " UNION\n", + " { ?pred rdfs:range dbo:Place }\n", + " }\n", + " # People van Gogh relates to\n", + " UNION \n", + " { \n", + " dbr:Vincent_van_Gogh ?pred ?value .\n", + " ?value a foaf:Person \n", + " }\n", + " # People related to van Gogh\n", + " UNION \n", + " { \n", + " ?value ?pred dbr:Vincent_van_Gogh .\n", + " ?value a foaf:Person \n", + " }\n", + "\n", + "} GROUP BY ?value ORDER BY ?prop" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9d7e9f40-3337-47b4-97ee-8e16a42731eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><div class=\"magic\">Request format: JSON</div><div class=\"magic\">Display: table</div></div>" + ], + "text/plain": [ + "Request format: JSON\n", + "Display: table\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<div class=\"krn-spql\"><table><tr class=hdr><th>picture</th>\n", + "<th>name</th></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Café_Terrace_at_Night\" target=\"_other\">http://dbpedia.org/resource/Café_Terrace_at_Night</a></td>\n", + "<td class=val>Café Terrace at Night</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Night_in_paintings_(Western_art)\" target=\"_other\">http://dbpedia.org/resource/Night_in_paintings_(Western_art)</a></td>\n", + "<td class=val>Night in paintings (Western art)</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/The_Night_Café\" target=\"_other\">http://dbpedia.org/resource/The_Night_Café</a></td>\n", + "<td class=val>The Night Café</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/The_Starry_Night\" target=\"_other\">http://dbpedia.org/resource/The_Starry_Night</a></td>\n", + "<td class=val>The Starry Night</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Starry_Night_Over_the_Phone\" target=\"_other\">http://dbpedia.org/resource/Starry_Night_Over_the_Phone</a></td>\n", + "<td class=val>Starry Night Over the Phone</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Starry_Night_Over_the_Rhône\" target=\"_other\">http://dbpedia.org/resource/Starry_Night_Over_the_Rhône</a></td>\n", + "<td class=val>Starry Night Over the Rhône</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Starry_Night_(Millet)\" target=\"_other\">http://dbpedia.org/resource/Starry_Night_(Millet)</a></td>\n", + "<td class=val>Starry Night (Millet)</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Where_Are_You_Tonight%3F_(Journey_Through_Dark_Heat)\" target=\"_other\">http://dbpedia.org/resource/Where_Are_You_Tonight%3F_(Journey_Through_Dark_Heat)</a></td>\n", + "<td class=val>Where Are You Tonight? (Journey Through Dark Heat)</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/White_House_at_Night\" target=\"_other\">http://dbpedia.org/resource/White_House_at_Night</a></td>\n", + "<td class=val>White House at Night</td></tr><tr class=even><td class=val><a href=\"http://dbpedia.org/resource/Dodge_MacKnight\" target=\"_other\">http://dbpedia.org/resource/Dodge_MacKnight</a></td>\n", + "<td class=val>Dodge MacKnight</td></tr><tr class=odd><td class=val><a href=\"http://dbpedia.org/resource/Midnight_in_Paris\" target=\"_other\">http://dbpedia.org/resource/Midnight_in_Paris</a></td>\n", + "<td class=val>Midnight in Paris</td></tr></table><div class=\"tinfo\">Total: 11, Shown: 11</div></div>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%format json\n", + "%display table \n", + "\n", + "\n", + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n", + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n", + "SELECT DISTINCT (?picture) ?name\n", + "WHERE {\n", + " ?picture ?p1 dbr:Vincent_van_Gogh .\n", + " ?picture rdfs:label ?name .\n", + " FILTER regex(?name,\"night\", \"i\")\n", + " FILTER langMatches(lang(?name),\"en\") \n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd4a214a-063e-4abb-9c25-d7b5a09c4e05", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SPARQL", + "language": "sparql", + "name": "sparql" + }, + "language_info": { + "codemirror_mode": { + "name": "sparql" + }, + "mimetype": "application/sparql-query", + "name": "sparql", + "pygments_lexer": "sparql-nb" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} -- GitLab