clowder-framework / clowder

A data management system that allows users to share, annotate, organize and analyze large collections of datasets. It provides support for extensible metadata annotation using JSON-LD and a distribute analytics event bus for automatic curation of uploaded data.
https://clowderframework.org/
University of Illinois/NCSA Open Source License
35 stars 17 forks source link

file/dataset add schema.org #332

Closed MBcode closed 2 years ago

MBcode commented 2 years ago

Description file/dataset add schema.org

Review Time Estimate

Types of changes

Checklist:

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.

MBcode commented 2 years ago

It still needs a little formatting, eg. for authour.. and I would like to add @id's for every page's json-ld then in the 'dataset', I can just ref the @id of the 'file's jsonLD even though the sitemap(coming soon), usually only go to those 1st dataset pages So I might bring it up into the dataset page

I had this under a branch called schema.org, but this 1st cut only has metadata from those 2 classes So am calling it: class2SOmetadata, later we can consider mapping elts from the metadata editor and just using any attached uploaded jsonld

MBcode commented 2 years ago

No sitemap generation in this go, but do have File and Dataset attributes mapped to schema.org predicates and embedded in each of those pages as ld+json that can be parsed by https://validator.schema.org More in https://github.com/clowder-framework/clowder/issues/335

MBcode commented 2 years ago

issue #335 has to_jsonld method, and change to Utils.baseURL signature Just want to know how to change conf to test w/different root, to be sure fileID->fileURL's baseURL catches that change

robkooper commented 2 years ago

in clowder, create folder called custom, in there create file custom.conf and put int here:

application.context="/hello/"
MBcode commented 2 years ago

tried that custom.conf "DigitalDocument" : [ "http://localhost:9000/hello/files/621560008412bae5e0f511b4", "http://localhost:9000/hello/files/6247460f84124a7d5ae32e61" ], works, now for some other tests of the Utils.BaseURL change on 1st arg

Instead of limiting this where the metadata reader does not know by how much, just give the url for the files, where they can see the limit, and change it if they want: DigitalDocument" -> Json.toJson(url.replaceAll("/$", "") + "/clowder/api/datasets/" + id.toString + "/files?max=9"), giving: "DigitalDocument" : "http://localhost:9000/clowder/api/datasets/5f9991d9c6100b2ccfd951d6/files?max=9",

1st try, {"status":"not found", .. ;will check/fix and had seen strange re-login behavior w/different root, that I put print but could Logger.debug if util baseurl involved

went with: cap_api_list to cap the file/space.. lists, at 10, but later might make configurable issue #354