summary refs log tree commit diff
path: root/issues/rdf/expose-rdf-to-web.gmi
diff options
context:
space:
mode:
Diffstat (limited to 'issues/rdf/expose-rdf-to-web.gmi')
-rw-r--r--issues/rdf/expose-rdf-to-web.gmi85
1 files changed, 85 insertions, 0 deletions
diff --git a/issues/rdf/expose-rdf-to-web.gmi b/issues/rdf/expose-rdf-to-web.gmi
new file mode 100644
index 0000000..e5da94a
--- /dev/null
+++ b/issues/rdf/expose-rdf-to-web.gmi
@@ -0,0 +1,85 @@
+# Expose Versioned "rdf.genenetwork.org" Namespaces
+
+* assigned: bonfacem
+* status: in-progress
+
+## Description
+
+We have switched all RDF namespaces from "genenetwork.org" to the versioned base "rdf.genenetwork.org/v1."   These endpoints don't resolve yet.
+
+## What changed
+
+Replaced
+
+* "http://genenetwork.org/id/" -> "http://rdf.genenetwork.org/v1/id/"
+* "http://genenetwork.org/category/" -> "http://rdf.genenetwork.org/v1/category/"
+* "http://genenetwork.org/term/" -> "http://rdf.genenetwork.org/v1/term/"
+
+## Current Problem
+
+New "rdf.genenetwork.org/v1/*" URIs return a 5XX/4XX which blocks validation, dereferencing and external re-use
+
+## Expected Behaviour
+
+All rdf.genenetwork.org/v1/* namespaces resolve over HTTP.  At minimum:
+
+* Human-readable HTML in a browser.
+* RDF (Turtle or RDF/XML) via content negotiation.
+
+## Notes
+
+(Example) Queries for all terms/categories/ids:
+
+```
+PREFIX gn: <http://rdf.genenetwork.org/v1/id/>
+PREFIX gnc: <http://rdf.genenetwork.org/v1/category/>
+PREFIX gnt: <http://rdf.genenetwork.org/v1/term/>
+
+CONSTRUCT {
+  gn:Arabidopsis_thaliana ?p ?o .
+} FROM <http://rdf.genenetwork.org/v1>
+WHERE {
+  gn:Arabidopsis_thaliana ?p ?o .
+  ?s ?p ?o .
+}
+
+CONSTRUCT {
+  gnc:phenotype ?p ?o .
+} FROM <http://rdf.genenetwork.org/v1>
+WHERE {
+  gnc:phenotype ?p ?o .
+  ?s ?p ?o .
+}
+
+CONSTRUCT {
+  gnt:shortName ?p ?o .
+} FROM <http://rdf.genenetwork.org/v1>
+WHERE {
+  gnt:shortName ?p ?o .
+  ?s ?p ?o .
+}
+
+```
+
+Some terms/categories/ids descriptions will have to be manually updated since querying them as a subject return nothing.
+
+When serving, all supported formats based off Virtuoso's content negotiation:
+
+=> https://docs.openlinksw.com/virtuoso/rdfsparqlprotocolendpoint/
+
+Location of all files (tux02): /export/data/genenetwork-virtuoso/
+
+For current gn3, old data is maintained in this named graph: "http://genenetwork.org" while new data is being uploaded to this named graph: "http://rdf.genenetwork.org/v1"
+
+## Tasks
+
+* [X] Set up new named graph for the rdf endpoint.   Maintain old named graph for gn3 stability.
+* [X] Serve: "/v1/id/<id>"; "/v1/category/<category>"; and "/v1/term/<term>" under "rdf.genenetwork.org" as "text/microdata+html"
+* [X] Verify: `curl -H "Accept: text/html" http://rdf.genenetwork.org/v1/term/...`
+* [X] Configure DNS (rdf.genenetwork.org) to point to gn-guile server.
+
+## Resolution
+
+=> https://git.genenetwork.org/gn-guile/commit/?id=45662839565f6482e7f034a07ae373bbeaeb9713
+
+* closed