LD4P / sinopia

LD4P Sinopia Project repo to hold docs, general issues, schemas, and related spec docs.
https://ld4p.github.io/sinopia/
19 stars 3 forks source link

Evaluate Trellis as LDP Component for Sinopia Server #129

Closed cmharlow closed 6 years ago

cmharlow commented 6 years ago

https://github.com/trellis-ldp

jmartin-sul commented 6 years ago

had a short meeting w/ @cmh2166 and @jermnelson to discuss figuring out whether trellis fits our needs. questions christina has:

@cmh2166, correct me if i got any of that wrong.

cmharlow commented 6 years ago

Done, see: https://github.com/LD4P/sinopia_server/wiki/Draft-Notes-for-Sinopia-Server-API-Spec

acoburn commented 6 years ago

@cmh2166 just an FYI, since I see that you're doing a lot of work with JSON-LD. Trellis supports custom JSON-LD profiles/contexts in responses. So, for instance, if you want a compact JSON-LD response using the Web Annotation @context, here's your request:

curl -i http://localhost:8080/resource -H"Accept: application/ld+json; profile=\"http://www.w3.org/ns/anno.jsonld\""

Because this is (potentially) a security issue -- letting clients download arbitrary web resources -- there is a whitelist in the configuration under

jsonld:
  contextWhitelist:
    - http://www.w3.org/ns/anno.jsonld

You can add as many contexts as you like, or even open up an entire domain as "trusted". These remote contexts also get cached internally to help speed things up.

cmharlow commented 6 years ago

@acoburn thanks for this! i'll try to break up our questions & such so we can get them here and ping you (+ the trellis google groups) more

acoburn commented 6 years ago

@cmh2166 that sounds great! I noticed you had a question about provenance data (who changes what resources and when) -- each resource has a full audit log that you can view with Prefer headers. Documentation is here: https://github.com/trellis-ldp/trellis/wiki/Resource-Provenance--(Audit)

The audit trail doesn't tell you exactly which triples where changed, but you can establish that by combining the data with the Memento representations (if you wanted to know which particular triples were modified by a certain user at a certain point in time).