{
  "@context": {
    "schema": "http://schema.org/",
    "ex": "https://example.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "dcat": "http://www.w3.org/ns/dcat#"
  },
  "@id": "ex:exampleWebAPI_354btrh",
  "@type": [
    "schema:WebAPI"
  ],
  "schema:serviceType": "OGC:WFS",
  "schema:termsOfService": {
    "@type": [
      "schema:CreativeWork",
      "dcat:Relationship"
    ],
    "schema:name": "Terms of Service for Example Data Portal",
    "schema:description": "Public access with attribution required",
    "schema:url": "http://example.com/resource/termsDoc35yh"
  },
  "schema:documentation": {
    "@type": [
      "schema:CreativeWork",
      "dcat:Relationship"
    ],
    "schema:name": "OpenAPI specification",
    "schema:description": "Machine-readable API description in OpenAPI 3.0 format",
    "schema:url": "http://example.com/resource/documentation35hn3"
  },
  "schema:potentialAction": [
    {
      "@id": "ex:exampleAction_37467",
      "@type": [
        "schema:Action"
      ],
      "schema:name": "Download Data",
      "schema:target": {
        "@type": [
          "schema:EntryPoint"
        ],
        "schema:description": "endpoint URL to invoke the action; content type spcifies the supported content type(s) for an EntryPoint response",
        "schema:urlTemplate": "http://portal.chordsrt.com/api/v1/data.{encoding}?instruments={instruments}&start={start}&end={end}",
        "schema:httpMethod": [
          "GET"
        ],
        "schema:contentType": [
          "text/csv",
          "application/json"
        ]
      },
      "schema:result": {
        "@type": [
          "schema:DataDownload"
        ],
        "schema:encodingFormat": [
          "text/csv"
        ],
        "schema:description": "a description the file format(s) generated by api requests",
        "dcterms:conformsTo": [
          {
            "@id": "http://www.opengis.net/def/nil/OGC/0/missing"
          }
        ]
      },
      "schema:object": {
        "@type": [
          "schema:DataFeed"
        ],
        "schema:description": "description of the structure of the api result data",
        "schema:variableMeasured": [
          {
            "@type": [
              "schema:PropertyValue"
            ],
            "schema:name": "temperature",
            "schema:description": "temperature of the sample",
            "schema:propertyID": [
              "http://qudt.org/defs/temperature"
            ]
          },
          {
            "@id": "ex:propertyValue_zZc",
            "@type": [
              "schema:PropertyValue"
            ],
            "schema:name": "Viscosity",
            "schema:propertyID": [
              "http://ogc.org/defs/g35408y"
            ],
            "schema:description": "a quantity expressing the magnitude of internal friction"
          }
        ]
      },
      "schema:query-input": [
        {
          "@id": "ex:input_encoding",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "encoding",
          "schema:description": "format of requested result",
          "schema:valueRequired": false,
          "schema:valuePattern": "^[A-Za-z][A-Za-z0-9]*$"
        },
        {
          "@id": "ex:input_instruments",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "instruments",
          "schema:description": "sensor for data requested",
          "schema:valueRequired": false,
          "schema:valuePattern": "^[A-Za-z][A-Za-z0-9 ,]*$"
        },
        {
          "@id": "ex:input_start",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "start",
          "schema:description": "beginning of time interval for requested data",
          "schema:valueRequired": false,
          "schema:valuePattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?(?:Z|[+\\-]\\d{2}(?::?\\d{2})?)?)?$"
        },
        {
          "@id": "ex:input_end",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "end",
          "schema:description": "end of time interval for requested data",
          "schema:valueRequired": true,
          "schema:valuePattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?(?:Z|[+\\-]\\d{2}(?::?\\d{2})?)?)?$"
        }
      ]
    },
    {
      "@id": "ex:exampleAction_37467",
      "@type": [
        "schema:Action"
      ],
      "schema:name": "List instruments",
      "schema:target": {
        "@type": [
          "schema:EntryPoint"
        ],
        "schema:description": "endpoint URL to invoke the action; content type spcifies the supported content type(s) for an EntryPoint response",
        "schema:urlTemplate": "http://portal.chordsrt.com/api/v1/data/instruments",
        "schema:httpMethod": [
          "GET"
        ],
        "schema:contentType": [
          "text/plain"
        ]
      },
      "schema:result": {
        "@type": [
          "schema:DataDownload"
        ],
        "schema:encodingFormat": [
          "text/plain"
        ],
        "schema:description": "plain text list of instruments available",
        "dcterms:conformsTo": [
          {
            "@id": "http://www.opengis.net/def/nil/OGC/0/missing"
          }
        ]
      }
    }
  ]
}