{
  "@context": {
    "schema": "http://schema.org/",
    "ex": "https://example.org/",
    "dcterms": "http://purl.org/dc/terms/",
    "dcat": "http://www.w3.org/ns/dcat#"
  },
  "@id": "ex:WebAPIComplete_001",
  "@type": [
    "schema:WebAPI"
  ],
  "schema:serviceType": {
    "@type": [
      "schema:DefinedTerm"
    ],
    "schema:name": "OGC Web Feature Service",
    "schema:termCode": "WFS",
    "schema:inDefinedTermSet": "https://www.opengis.net/def/serviceType/ogc/"
  },
  "schema:termsOfService": {
    "@type": [
      "schema:CreativeWork",
      "dcat:Relationship"
    ],
    "schema:name": "Data Portal Terms of Use",
    "schema:description": "Open access with CC-BY 4.0 attribution requirement; rate limited to 1000 requests per hour",
    "schema:url": "https://geochem.example.org/terms-of-use"
  },
  "schema:documentation": {
    "@type": [
      "schema:CreativeWork",
      "dcat:Relationship"
    ],
    "schema:name": "Geochemistry Data Service OpenAPI Specification",
    "schema:description": "Machine-readable API description in OpenAPI 3.1 format for the geochemical data query service",
    "schema:url": "https://geochem.example.org/api/v2/openapi.json"
  },
  "schema:potentialAction": [
    {
      "@id": "ex:WebAPIAction_search",
      "@type": [
        "schema:SearchAction"
      ],
      "schema:name": "Search Geochemical Analyses",
      "schema:target": {
        "@type": [
          "schema:EntryPoint"
        ],
        "schema:description": "Query endpoint for geochemical analysis data with filtering by element, location, and date",
        "schema:urlTemplate": "https://geochem.example.org/api/v2/analyses?element={element}&bbox={bbox}&format={format}",
        "schema:httpMethod": [
          "GET"
        ],
        "schema:contentType": [
          "application/json",
          "text/csv"
        ]
      },
      "schema:result": {
        "@type": [
          "schema:DataDownload"
        ],
        "schema:encodingFormat": [
          "application/json",
          "text/csv"
        ],
        "schema:description": "Tabular geochemical analysis results with sample metadata and element concentrations"
      },
      "schema:object": {
        "@type": [
          "schema:DataFeed"
        ],
        "schema:description": "Global geochemical reference database with major and trace element data from 50,000+ samples",
        "schema:encodingFormat-input": [
          "application/json"
        ]
      },
      "schema:query-input": [
        {
          "@id": "ex:WebAPIInput_element",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "element",
          "schema:description": "Chemical element symbol(s) to query",
          "schema:valueRequired": true,
          "schema:valuePattern": "^[A-Z][a-z]?(,[A-Z][a-z]?)*$"
        },
        {
          "@id": "ex:WebAPIInput_bbox",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "bbox",
          "schema:description": "Bounding box filter as west,south,east,north in WGS84 decimal degrees",
          "schema:valueRequired": false,
          "schema:valuePattern": "^-?\\d+\\.?\\d*,-?\\d+\\.?\\d*,-?\\d+\\.?\\d*,-?\\d+\\.?\\d*$"
        },
        {
          "@id": "ex:WebAPIInput_format",
          "@type": [
            "schema:PropertyValueSpecification"
          ],
          "schema:valueName": "format",
          "schema:description": "Output format for query results",
          "schema:valueRequired": false,
          "schema:valuePattern": "^(json|csv)$"
        }
      ]
    }
  ]
}