{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from SPARQLWrapper import SPARQLWrapper, JSON\n", "from rdflib import ConjunctiveGraph, Namespace, Literal, RDF, RDFS, BNode, URIRef, XSD, Variable\n", "import operator\n", "import numpy as np\n", "import networkx as nx\n", "import matplotlib.pyplot as plt\n", "import urllib2, StringIO, csv\n", "import re\n", "%matplotlib inline\n", "NG_TEMPLATE = 'http://lod.cedar-project.nl/resource/r1/CUBE'\n", "END_POINT = 'http://lod.cedar-project.nl:8080/sparql/cedar'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "url = 'https://raw.githubusercontent.com/cgueret/Harmonize/master/cubes.txt'\n", "cubes = [cube.strip() for cube in StringIO.StringIO(urllib2.urlopen(url).read())]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "What is the evolution of the number of teachers over time ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Teachers have the HISCO code [13000](\n", "http://hisco.antenna.nl/list_micro.phtml?keywords=13000&keywords_qt=lstrict), this question is a simplified version of that found on slide 30 of [this presentation](http://www.slideshare.net/slideshow/embed_code/17181229?hostedIn=slideshare&referer=http://www.slideshare.net/AndreaScharnhorst#)\n", " " ] }, { "cell_type": "code", "collapsed": false, "input": [ "data_years=[]\n", "data_count=[]\n", "for cube in cubes:\n", " (cube_type, cube_year) = cube.split('-')\n", " if cube_type != 'BRT':\n", " continue\n", " data_years.append(int(cube_year))\n", " named_graph = NG_TEMPLATE.replace('CUBE', cube)\n", " sparql = SPARQLWrapper(END_POINT)\n", " query = \"\"\"\n", " prefix cedar: \n", " prefix qb: \n", " \n", " select (sum(?s) as ?total) from where {\n", " ?o a qb:Observation.\n", " ?o cedar:occupation cedar:hisco-13000.\n", " ?o cedar:populationSize ?s.\n", " }\n", " \"\"\".replace('GRAPH',named_graph)\n", " sparql.setQuery(query)\n", " sparql.setReturnFormat(JSON)\n", " result = sparql.query().convert()[\"results\"][\"bindings\"][0]\n", " total = 0\n", " if 'total' in result:\n", " total = int(result['total']['value'])\n", " data_count.append(total)\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "print data_years, data_count" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1889, 1899, 1909, 1920, 1930, 1947] [17653, 9170, 267, 0, 0, 0]\n" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(data_years, data_count, alpha=0.5)\n", "plt.scatter(data_years, data_count, alpha=0.5)\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nM2YMY8aM4Te/+Q0Qeq/n+fPn+Zd/+RdycnKuub8VOb/utayoqCAjI4PMzEwOHDhgWcavy3n06FFs\nNhtz5869wUAPAAAD7klEQVRlwoQJ/PKXv2xXzpArjZUrV/Lss89y8uRJfvvb37Jy5UoAXnjhBRob\nG6mpqaGiooJf/epXVFRUhEzOFStWAL7PGp1OJxMnTmTt2rVMmzaN8PDw61Z6nWX9+vXk5+czceJE\nzp8/T69evSzJ8U26S87Dhw/z4x//2H80oVW+Lqfb7ebw4cMcOnSINWvW+LeYQylnTk4Oa9eupV+/\nfjf8uqJQyBgbG0tVVRVlZWX85je/4YEHHrhun0wo5GxububAgQO8+OKLHDhwgNdee409e/a0eZ3U\n5kNuO0pJSQm7du0C4G//9m/5/ve/D8Bbb73FfffdR3h4OMOGDWP69OmUlpZyxx13UF1d7V++urra\n/1GRFTnDw8P9794Apk+fTlJSEoMGDbIk5+jRo/nf//1fwPeO449//CPge1dx9Tum6upqnE4nDocj\npHJ+lVDMWV1dzXe/+102btzIqFGjQjbnFcnJySQkJHDs2DGcTmdI5Hz99dcB3/+vLVu28Hd/93ec\nPXuWsLAw+vbty3e/+91Oz/lVr2WvXr38K+bx48eTkJCAx+MJud95XFwcd955J0OHDgVg3rx5HDp0\niO9973ttyhlyWxqJiYn+I4727NlDUlIS4PsHvmfPHgAaGho4ePAgycnJREdH+08aNMawceNG7r33\nXstyNjY20tDQAPiOqLHb7SQnJxMTE2NJzs8++wyA1tZW/umf/olVq1YBvhMqN23aRFNTExUVFf6T\nMK16Pb8q5xVffrcZaq/n2bNnueeee/jFL37B1KlTQzbniRMnaG5uBqCyshKPx4PL5QqZ3/sjjzwC\nwP79+6moqKCiooLHH3+cv//7v2f16tWW5Pyq1/L06dO0tLQA8PHHH+PxeLjttttC7nd+11138cEH\nH9DY2EhzczP79u1jzJgxbX8t278fv+0WL15sYmJijN1uN06n06xfv9688847xu12m7Fjx5opU6aY\nQ4cOGWOMuXjxonnwwQdNamqqSUlJueZoinfffdekpqaahIQE8+ijj1qas6KiwowePdrcfvvtJjs7\n25w8edKynAUFBeZ3v/udSUpKMklJSeYnP/nJNfd/5plnTEJCghk9erT/SLBQzDly5EgzdOhQM2DA\nAON0Os1HH30Ucjn/8R//0fTv39+MGzfOf/nss89CLufGjRvNmDFjzLhx48ykSZOuOVomlHJeLScn\nx/z617/ulJw3k3HLli3+13L8+PHmf/7nfzol483mNMaYF154wYwZM8akpqaadevWtSunTu4TEZGA\nhdzHUyIiErpUGiIiEjCVhoiIBEylISIiAVNpiIhIwFQaIiISMJWGiIgETKUhIiIB+/8gVx30kStH\nKgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "What is the evolution of the number of married women ?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data_years=[]\n", "data_count=[]\n", "for cube in cubes:\n", " (cube_type, cube_year) = cube.split('-')\n", " if cube_type != 'VT':\n", " continue\n", " data_years.append(int(cube_year))\n", " named_graph = NG_TEMPLATE.replace('CUBE', cube)\n", " sparql = SPARQLWrapper(END_POINT)\n", " query = \"\"\"\n", " prefix cedar: \n", " prefix qb: \n", " prefix sdmx-dimension: \n", " prefix sdmx-code: \n", " \n", " select (sum(?s) as ?total) from where {\n", " ?o a qb:Observation.\n", " ?o cedar:maritalStatus cedar:marital-Married.\n", " ?o sdmx-dimension:sex sdmx-code:sex-V.\n", " ?o cedar:populationSize ?s.\n", " }\n", " \"\"\".replace('GRAPH',named_graph)\n", " sparql.setQuery(query)\n", " sparql.setReturnFormat(JSON)\n", " result = sparql.query().convert()[\"results\"][\"bindings\"][0]\n", " total = 0\n", " if 'total' in result:\n", " total = int(result['total']['value'])\n", " data_count.append(total)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "print data_years, data_count" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1795, 1830, 1840, 1849, 1859, 1869, 1879, 1889, 1899, 1909, 1920, 1930, 1947, 1971] [0, 3782337, 3630140, 5070644, 7513441, 6504906, 3541892, 1263520, 14269943, 10292988, 12812929, 22087751, 12975842, 0]\n" ] } ], "prompt_number": 36 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(data_years, data_count, alpha=0.5)\n", "plt.scatter(data_years, data_count, alpha=0.5)\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 34 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "What is the evolution of the population of Amsterdam ?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data_years=[]\n", "data_count=[]\n", "for cube in cubes:\n", " (cube_type, cube_year) = cube.split('-')\n", " if cube_type != 'VT':\n", " continue\n", " data_years.append(int(cube_year))\n", " named_graph = NG_TEMPLATE.replace('CUBE', cube)\n", " sparql = SPARQLWrapper(END_POINT)\n", " query = \"\"\"\n", " prefix cedar: \n", " prefix qb: \n", " prefix sdmx-dimension: \n", " prefix sdmx-code: \n", " \n", " select (sum(?s) as ?total) from where {\n", " ?o a qb:Observation.\n", " ?o cedar:city cedar:ac-11150.\n", " ?o cedar:populationSize ?s.\n", " }\n", " \"\"\".replace('GRAPH',named_graph)\n", " sparql.setQuery(query)\n", " sparql.setReturnFormat(JSON)\n", " result = sparql.query().convert()[\"results\"][\"bindings\"][0]\n", " total = 0\n", " if 'total' in result:\n", " total = int(result['total']['value'])\n", " data_count.append(total)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "print data_years, data_count" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1795, 1830, 1840, 1849, 1859, 1869, 1879, 1889, 1899, 1909, 1920, 1930, 1947, 1971] [2389519, 606525, 0, 1470085, 8212669, 5137603, 4978346, 6423682, 11996651, 7260189, 16510509, 23924726, 2186887, 7358562]\n" ] } ], "prompt_number": 38 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(data_years, data_count, alpha=0.5)\n", "plt.scatter(data_years, data_count, alpha=0.5)\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }