From 5fd715c3dc41531daa1a283d30d83d6121861949 Mon Sep 17 00:00:00 2001
From: Lars Pieschel <26352100+lapie1@users.noreply.github.com>
Date: Mon, 22 Mar 2021 22:54:38 +0100
Subject: [PATCH] README.md and small changes.

---
 .gitignore                      |   4 +-
 README.md                       | 189 +++++++++++++++++++++++++++++++-
 img/cells.png                   | Bin 0 -> 39651 bytes
 jupyter-rdfify/serialization.py |   2 +-
 pyproject.toml                  |   6 +
 setup.py                        |   1 -
 6 files changed, 198 insertions(+), 4 deletions(-)
 create mode 100644 img/cells.png
 create mode 100644 pyproject.toml

diff --git a/.gitignore b/.gitignore
index 7558721..c4618d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
 __pycache__
 .vscode
-jupyter_rdfify.egg-info
\ No newline at end of file
+jupyter_rdfify.egg-info
+dist
+build
\ No newline at end of file
diff --git a/README.md b/README.md
index e63a81b..45331c3 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,190 @@
 # Jupyter-RDFify
+![Cells showing Jupyter-RDFify features](img/cells.png)  
+IPython Extension for semantic web technology support (Turtle, SPARQL, ShEx, etc.)
 
-TODO: Write Readme
\ No newline at end of file
+This extension is meant to be used together with Jupyter Notebooks for educational purposes. Its focus is neither performance nor scalability but instead ease-of-use.
+
+# Installation
+
+## Install using Pip
+
+```
+python -m pip install jupyter-rdfify
+```
+
+## Install from Source using Pip
+
+```
+python -m pip install git+https://github.com/lapie1/Jupyter-RDFify
+```
+
+## Dependencies
+
+You will need to have [Graphviz](https://graphviz.org/) installed and added to your path.
+
+If you're using Anaconda, you can install the Graphviz binaries using conda:
+
+```
+conda install -c conda-forge graphviz
+```
+
+# Usage
+
+## Basic Usage
+
+You first need to use the predefined `%load_ext` or `%reload_ext` magic to load Jupyter-RDFify. You need to do this each time your kernel is restarted.
+
+```
+%load_ext jupyter-rdfify
+```
+
+If you've installed the extension correctly, this should register the `%rdf` magic. This magic is special in that it is interpreted like a command line interface. If at any point you're wondering what arguments there are and what they do, do not hesitate to use the --help or -h flag.
+
+To list all submodules:
+
+```
+%rdf --help
+```
+
+To list all arguments of the Turtle submodule:
+
+```
+%rdf turtle --help
+```
+
+# Submodules
+
+Jupyter-RDFify is split into several submodules. Select the submodule you want using `%rdf <submodule>`
+
+## Graph Serialization Submodules
+
+These submodules allow you to parse and then visualize or convert graphs. The following graph serialization modules are provided by default: turtle, n3, json-ld, xml
+
+### Visualization
+
+To parse and visualize a graph, just use the `%%rdf` cell magic with the right submodule. For example to visualize a graph in Turtle notation:
+
+```turtle
+%%rdf turtle
+@prefix : <http://example.org/> .
+:JupyterRDF :is :Awesome .
+```
+
+If this throws an error you probably do not have Graphviz installed. If you do not want to use the visualization, just use `--display none` or `--display table`.
+
+### Conversion
+
+To parse and convert a graph into a different format, use a combination of `--display raw` and `--serialize <format>`. Possible formats are: turtle, n3, json-ld, xml
+
+To convert a graph in Turtle notation to JSON-LD notation:
+
+```turtle
+%%rdf turtle --display raw --serialize json-ld
+@prefix : <http://example.org/> .
+:JupyterRDF :is :Awesome .
+```
+
+### Labelling
+
+After parsing a graph, you may want to give it a label. You can later use this label to reference your graph in other submodules. With this you can for instance query, validate, draw or entail your graph later on. To give your graph a label just use the ```--label <label>``` or ```-l <label>``` argument.
+
+```turtle
+%%rdf turtle --label awesome_graph
+@prefix : <http://example.org/> .
+:JupyterRDF :is :Awesome .
+```
+
+The special label ```last``` will always hold the last object, even if no ```--label``` argument was supplied.
+
+## SPARQL Submodule
+
+You can use the SPARQL submodule to query existing endpoints or to query local graphs.
+
+### Query SPARQL Endpoints
+
+Use the ```--endpoint``` argument to query an endpoint. An example using the [Wikidata](https://www.wikidata.org) endpoint:
+
+```sparql
+%%rdf sparql --endpoint https://query.wikidata.org/sparql
+SELECT ?item ?itemLabel 
+WHERE 
+{
+  ?item wdt:P31 wd:Q146.
+  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
+} LIMIT 10
+```
+
+### Query Local Graphs
+
+You can query [labelled](#Labelling) graphs using the ```--local <label>``` argument. Note that this overrides the endpoint argument.
+
+Example querying the above labelled graph:
+
+```turtle
+%%rdf sparql --local awesome_graph
+PREFIX : <http://example.org/>
+SELECT ?x WHERE {
+    ?x :is :Awesome
+}
+```
+
+## ShEx Submodule
+
+With this submodule, you can validate graphs using the [ShEx](https://shex.io/) language. You first need to parse a schema:
+
+```shex
+%%rdf shex parse --label awesome_schema
+PREFIX : <http://example.org/>
+:AwesomeShape {
+    :is [:Awesome]
+}
+```
+
+We already gave the schema a [label](#Labelling) to reference it later. Note that graph labels and schema labels use different namespaces and do not overwrite each other.
+
+To validate a graph, we need to provide the schema label (```--label```), the graph label (```--graph```) of the graph we want to validate against the schema and at least a starting shape (```--start```). This will check every node of the graph against the starting shape. If we want to focus on a specific node in the graph, we can use the ```--focus``` argument. To validate the ```awesome_graph``` against the ```awesome_schema```, starting from the ```:AwesomeShape``` and focussing on the ```:JupyterRDF``` node:
+
+```
+%rdf shex validate --label awesome_schema --graph awesome_graph --start http://example.org/AwesomeShape --focus http://example.org/JupyterRDF
+```
+
+## Other Features
+
+### Prefixes
+As many of the languages/formats use prefix declarations and these usually just distract from the actual task, most submodules lets you outsource them. Using either the ```--prefix``` flag or the ```prefix``` action (only for ShEx submodule), you can define a string which gets prepend to every cell magic of that submodule. A simple example for Turtle which defines some very frequent prefixes:
+
+```turtle
+%rdf turtle --prefix
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+```
+
+### Graph Manager
+The graph manager submodule lets you list, draw, entail and delete labelled graphs. You just need to specify the action and usually a graph label. To draw or ```awesome_graph```:
+
+```
+%rdf graph draw --label awesome_graph
+```
+
+### Entailment
+
+Using [OWL-RL](https://owl-rl.readthedocs.io/en/latest/), you can generate the finite closure of a graph under either RDFS semantics, OWL-RL semantics or both. This uses a brute-force approach, so it may easily take a long time or fail for large graphs. You can either entail a parsed graph directly using the ```--entail <regime>``` argument or entail a labelled graph later using the graph manager:
+
+```
+%rdf graph entail-<regime> --label awesome_graph
+```
+
+For now you can only entail graphs in-place. Possible values for &lt;regime&gt;: rdfs, owl, rdfs+owl
+
+# Dependencies
+
+Note that these dependencies will be installed automatically if you use Pip.
+
+[RDFLib](https://rdflib.readthedocs.io/en/stable/): The heart of this extension  
+[RDFLib-jsonld](https://github.com/RDFLib/rdflib-jsonld): Extension of RDFLib for JSON-LD  
+[SPARQLWrapper](https://github.com/RDFLib/sparqlwrapper): Extension of RDFLib for SPARQL  
+[OWL-RL](https://owl-rl.readthedocs.io/en/latest/): Library for RDFS and OWL-RL entailment  
+[PyShEx](https://github.com/hsolbrig/PyShEx): Implementation of ShEx  
+[Graphviz python wrapper](https://pypi.org/project/graphviz/)  
+[IPython](https://ipython.org/)
\ No newline at end of file
diff --git a/img/cells.png b/img/cells.png
new file mode 100644
index 0000000000000000000000000000000000000000..d904327cf50f6596a960fed71bf4f9dad2f103a5
GIT binary patch
literal 39651
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

literal 0
HcmV?d00001

diff --git a/jupyter-rdfify/serialization.py b/jupyter-rdfify/serialization.py
index c21fb21..e9c748a 100644
--- a/jupyter-rdfify/serialization.py
+++ b/jupyter-rdfify/serialization.py
@@ -7,7 +7,7 @@ from .table import graph_spo_iterator, html_table
 from .util import strip_comments
 
 displays = ["graph", "table", "raw", "none"]
-formats = ["turtle", "json-ld", "xml"]
+formats = ["turtle", "json-ld", "xml", "n3"]
 
 
 class SerializationModule(RDFModule):
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..b5a3c46
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,6 @@
+[build-system]
+requires = [
+    "setuptools>=42",
+    "wheel"
+]
+build-backend = "setuptools.build_meta"
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 97de421..23c3c65 100644
--- a/setup.py
+++ b/setup.py
@@ -19,7 +19,6 @@ setuptools.setup(
         "ipython>=7.18.0",
         "graphviz",
         "sparqlwrapper",
-        "requests",
         "owlrl",
         "PyShEx"
     ],
-- 
GitLab