earthcube / jsonld_forms

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Actions Allow 'object' endpoint reference reuse #21

Open valentinedwv opened 2 years ago

valentinedwv commented 2 years ago

Potential Action is incomplete. There are examples in the examples.

Action how to: https://schema.org/docs/actions.html List of actions: https://schema.org/Action

https://github.com/earthcube/ecrro/blob/master/Examples/Interface-ChordsWebAPIv2-SDO-toLoad.json

Uses examples of referencing. Even if we do not do referencing, we may still need to allow for repeated use of 'types' of data described for an endpoint.

    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#start"
                    },

** start

{
            "@type": "SearchAction",
            "name": "Get data acquired from multiple instruments for date range",
            "description": "Download multiple instruments w/ instrument ids bounded by an optional start and/or end date",
            "result": {
                "@type": "DataDownload",
                "encodingFormat": [
                    "application/json",
                    "application/geo+json"
                ]
            },
            "target": {
                "@type": "EntryPoint",
                "urlTemplate": "http://portal.chordsrt.com/api/v1/data.{encoding}?instruments={instruments}&start={start}&end={end}",
                "httpMethod": "GET",
                "query-input": [
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#encoding"
                    },
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#instruments",
                        "@type": "PropertyValueSpecification",
                        "valueName": "instruments",
                        "description": "A comma-separated list of instrument identifiers. Instrument identifiers for this end point are integers between 1 and 6",
                        "minValue": 1,
                        "maxValue": 6,
                        "valueRequired": true
                    },
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#start",
                        "@type": "PropertyValueSpecification",
                        "valueName": "start",
                        "description": "A start time for the returned measurements. use xsd:dateTime format",
                        "valueRequired": false,
                        "valuePattern": "(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?"
                    },
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#end",
                        "@type": "PropertyValueSpecification",
                        "valueName": "end",
                        "description": "An end time for the returned measurements. use xsd:dateTime format",
                        "valueRequired": false,
                        "valuePattern": "(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?"
                    }
                ]
            },
            "object": {
                "@type": "DataFeed",
                "description": "need to clarify the purpose of having these '-input' elements here is; see object is last entry above, where suggest that should describe the variableMeasured that are reported by the DataFeed. Also the identifier-input values are instrument identifiers, not identifiers for the DataFeed, seems like this would be confusing; and the temporalCoverage input is not consistent with 'a textual string indicating a time period in ISO 8601 time interval format.'",
                "encodingFormat-input": {
                    "@id": "http://portal.chordsrt.com/about/data_urls#encoding"
                },
                "identifier-input": {
                    "@id": "http://portal.chordsrt.com/about/data_urls#instruments"
                },
                "temporalCoverage-input": [
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#start"
                    },
                    {
                        "@id": "http://portal.chordsrt.com/about/data_urls#end"
                    }
                ]
            }
        },