| 133 | == CMD-RDF |
| 134 | |
| 135 | Instead of exposing Virtuoso directly the CMD-RDF is the main access point to the Virtuoso triple store. This servlet should provide or support the following interfaces: |
| 136 | |
| 137 | * a SPARQL endpoint |
| 138 | * a REST API |
| 139 | * if needed a browser UI, but a generic UI might be based on the SPARQL endpoint |
| 140 | * an admin interface to see how CMD2RDF is behaving |
| 141 | |
| 142 | === SPARQL endpoint |
| 143 | |
| 144 | Should in principle follow the [http://www.w3.org/TR/2013/REC-sparql11-protocol-20130321/#query-operation query operation part of the SPARQL 1.1 protocol]. This might be limited by what Virtuoso actually [http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSSparqlProtocol supports], but the servlet layer might be able to amend some shortcomings. To prevent burdening the server to heavily the SPARQL endpoint should be limited in the following ways: |
| 145 | |
| 146 | * only queries should be allowed, i.e., no updates |
| 147 | * queries should be limited in their running time, e.g., a minute (?) |
| 148 | * only a limited number of concurrent queries are allowed |
| 149 | |
| 150 | All or some of these limits might already be supported by Virtuoso. |
| 151 | |
| 152 | === REST API |
| 153 | |
| 154 | Each CMD record corresponds to a single graph which has an unique URI, e.g., https://catalog.clarin.eu/cmd/rdf/TLA/MPI123. It should become possible to access these graphs by just resolving these URIs. This can be a simple wrapper around [http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtGraphUpdateProtocol Virtuosos support] for [http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/ SPARQL 1.1 Graph Store HTTP Protocol], where again only GETs should be supported. |
| 155 | |
| 156 | Additionally it should become possible to retrieve sets of graphs, e.g., https://catalog.clarin.eu/cmd/rdf/TLA to get all the graphs of TLA CMD records. The return could be one big [http://www.w3.org/TR/trig/ TriG] document or, probably more convenient, a ZIP file containing the RDF representations of the records. |
| 157 | |
| 158 | === Browser |
| 159 | |
| 160 | Preferably expose a generic browser, e.g., [https://code.google.com/p/elda/ Elda]. |
| 161 | |
| 162 | === Admin |
| 163 | |
| 164 | Administrators should be able to see the status of CMD2RDF, e.g., how many graphs are stored in Virtuoso, access statistics, conversion statistics, process info. |
| 165 | |
| 166 | Access to the admin console can be restricted to a configured set of Shibboleth principals. |
| 167 | |