summary refs log tree commit diff
path: root/issues/rdf/expose-rdf-to-web.gmi
blob: c1e33cea48c2617cd928c91ee8c894e5400e50d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 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/...`
* [ ] Configure DNS (rdf.genenetwork.org) to point to gn-guile server.

## Resolution

=> https://git.genenetwork.org/gn-guile/commit/?id=45662839565f6482e7f034a07ae373bbeaeb9713