Open amoeba opened 3 years ago
I built something that serves at least my needs for now: A basic web app that can return linked data about a given DataONE PID. I don't have anywhere to host it at the moment but it lives alongside our other deployment configs in https://github.com/DataONEorg/slinky/tree/feature_update_graph_pattern/deploy/docker/web.
Related, we might expose http://yasgui.triply.cc/ instead of the Virtuoso interface.
After the Jan 13th salmantics call we decided on something akin to geolink with rdfsurveyor and yasgui. I'm currently refactoring the code linked above in the feature_update_graph_pattern branch to link to the various components of Slinky. Virtuoso
will direct the user to either the main virtuoso landing page or to the sparql endpoint.
Browse
will direct the user to the rdfsurveyor page.
Home
is the application root which will live at the slinky root (ie https://api.test.dataone.org/slinky)
I'm going to include a few yasqui queries on the main landing page, shown below. The changes so far include utilizing the starlette templating engine, css files and, integration with docker-compose & kubernetes.
The code from the comment above was merged in #68 and has since been deployed on the development server. It's not a particularly warming interface, but might be enough to close this issue.
Thanks @ThomasThelen, this improves things.
We still need to come up with a high-level API for DataONE services to rely on. Two examples of high level APIs are:
lookup(dataset_id, name) -> ["https://dataone.org/person/bar"]
.Maybe (1) and (2) are the list of high level APIs we want right now and we just need to document and implement those in the slinky webapp.
To integrate linked open data into existing web views and services, we likely don't want to expose, say, a SPARQL endpoint. If we did, we might at least want to point it at a read replica.
Another approach would be to put something in front of the SPARQL endpoint to constrain the types of queries that can be constructed by users without direct access to the SPARQL endpoint. There must be some solutions already out there, though I think building something specific to our use case isn't out of scope.
One example is https://github.com/UKGovLD/linked-data-api/blob/wiki/Specification.md