Go down for licence and other metadata about this presentation
\newpage
\newpage
In [1]:
from IPython.display import YouTubeVideo
YouTubeVideo('F4rFuIb1Ie4')
Out[1]:
In [1]:
## PDF output using pandoc
import os
### Export this notebook as markdown
commandLineSyntax = 'ipython nbconvert --to markdown 20151008_OpenGeo_Reuse_under_licence.ipynb'
print (commandLineSyntax)
os.system(commandLineSyntax)
### Export this notebook and the document header as PDF using Pandoc
commandLineSyntax = 'pandoc -f markdown -t latex -N -V geometry:margin=1in DocumentHeader.md 20151008_OpenGeo_Reuse_under_licence.md --filter pandoc-citeproc --latex-engine=xelatex --toc -o interim.pdf '
os.system(commandLineSyntax)
### Remove cruft from the pdf
commandLineSyntax = 'pdftk interim.pdf cat 1-3 16-end output 20151008_OpenGeo_Reuse_under_licence.pdf'
os.system(commandLineSyntax)
### Remove the interim pdf
commandLineSyntax = 'rm interim.pdf'
os.system(commandLineSyntax)
Out[1]:
In [2]:
%install_ext https://raw.githubusercontent.com/rasbt/python_reference/master/ipython_magic/watermark.py
%load_ext watermark
In [3]:
%watermark -a "Anthony Beck" -d -v -m -g
In [9]:
#List of installed conda packages
!conda list
In [10]:
#List of installed pip packages
!pip list
You need to install the RISE Ipython Library from Damián Avila for dynamic presentations
To convert and run this as a static presentation run the following command:
In [ ]:
!ipython nbconvert 20151008_OpenGeo_Reuse_under_licence.ipynb --to slides --post serve
To close this instances press control 'c' in the ipython notebook terminal console
Static presentations allow the presenter to see speakers notes (use the 's' key)
If running dynamically run the scripts below
In [13]:
#Future proof python 2
from __future__ import print_function #For python3 print syntax
from __future__ import division
# def
import IPython.core.display
# A function to collect user input - ipynb_input(varname='username', prompt='What is your username')
def ipynb_input(varname, prompt=''):
"""Prompt user for input and assign string val to given variable name."""
js_code = ("""
var value = prompt("{prompt}","");
var py_code = "{varname} = '" + value + "'";
IPython.notebook.kernel.execute(py_code);
""").format(prompt=prompt, varname=varname)
return IPython.core.display.Javascript(js_code)
# inline
%pylab inline
\newpage
\newpage
and the word was cartography
\newpage
Cartography was king. Static representations of spatial knowledge with the cartographer deciding what to represent.
\newpage
\newpage
Restrictive data
\newpage
Making data interoperable and open
\newpage
\newpage
From Map to Model The changing paradigm of map creation from cartography to data driven visualization
\newpage
\newpage
\newpage
\newpage
\newpage
Issues surrounding non-technical interoperability include:
We will focus on licence interoperability
\newpage
There is a multitude of formal and informal data.
\newpage
Each of these data objects can be licenced in a different way. This shows some of the licences described by the RDFLicence ontology
\newpage
Concepts (derived from Formal Concept Analysis) surrounding licences
\newpage
Two lead organisations have developed legal frameworks for content licensing:
Until the release of CC version 4, published in November 2013, the CC licence did not cover data. Between them, CC and ODC licences can cover all forms of digital work.
I'll describe CC in more detail
\newpage
The following clauses constrain CC0:
\newpage
\newpage
Certain licences when combined:
A conceptual licence processing workflow. The licence processing service analyses the incoming licence metadata and determines if the data can be legally integrated and any resulting licence implications for the derived product.
\newpage
Data1 hasDerivedContentIn NewThing.
Data1 hasLicence a cc-by-sa.
What hasLicence a cc-by-sa? #reason here
If X hasDerivedContentIn Y and hasLicence Z then Y hasLicence Z. #reason here
Data2 hasDerivedContentIn NewThing.
Data2 hasLicence a cc-by-nc-sa.
What hasLicence a cc-by-nc-sa? #reason here
Nothing hasLicence a cc-by-nc-sa and hasLicence a cc-by-sa. #reason here
And processing this within the Protege reasoning environment
In [4]:
from IPython.display import YouTubeVideo
YouTubeVideo('jUzGF401vLc')
Out[4]:
\newpage
In [12]:
from IPython.display import YouTubeVideo
YouTubeVideo('tkRB5Rp1_W4')
Out[12]:
\newpage
License | Reproduction | Distribution | Derivation | ND | BY | SA | NC |
---|---|---|---|---|---|---|---|
CC0 | X | X | X | ||||
CC-BY-ND | X | X | X | X | |||
CC-BY-NC-ND | X | X | X | X | X | ||
CC-BY | X | X | X | X | |||
CC-BY-SA | X | X | X | X | X | ||
CC-BY-NC | X | X | X | X | X | ||
CC-BY-NC-SA | X | X | X | X | X | X |
\newpage
\newpage