Closed alexhebing closed 5 years ago
@alexhebing You may want to read this. It discusses the core principles behind linked data. I'm still reading up myself.
Probably the nicest triple serialization format will be JSON-LD.
JavaScript implementation: jsonld.js. Python implementation: PyLD (same author as jsonld; no restrictions on database implementation, but you have to manage the schema by yourself) Converting between RDF and JSON-LD in Python: RDFLib-jsonld
This is an excellent resource. Saved to surfdrive.
This pointed me to rdflib, which we should probably use if we are going to offer SPARQL. "Getting started" documentation is here. Documentation on how to attach your own store is here and here and probably also in other places.
There is rdflib-django, which we might be able to use, but which is unmaintained since 2012. There is a fork by devkral which appears to be more useful. If we go with this, we have less freedom to decide on our own models; most information that we store will be in triples that are completely managed by rdflib-django3.
There appear to be no existing integrations between rdflib and Django REST framework, but we might not need those.
@alexhebing At this point, I think we have two main options:
Model
with jsonld.js.I'm leaning towards option 2, because it has the following strong advantages over option 1:
What do you think?
I agree with Julian's choice for option 2. Option 1 may be faster progress initially, but may be dearly paid for later on.
Seeing as projects in the past (EDPOP) have already requested linked data compatibility and this request is likely to come around again (if there is new budget for EDPOP, or in any other project as linked data is everywhere right now), I think the time invested in investigating option 2 is well invested.
In particular, keep track of which database requirements they have.