Skip to content

Agents

A resource that implements the concept of Agent defined in the AlpineBits® Ontology.

A JSON object representing such a resource MUST contain the following fields:

  • type: the constant "agents" that identifies the resource as being of the type agent.

  • id: a string that uniquely and persistently identifies the agent within a SERVER. See the definition in ???.

  • attributes: an object containing the attributes of the agent.

  • relationships: an object containing the relationships of the agent to other resources.

  • links: an object containing the links related to the agent.

Agent resources are structured in the following way:

{
  "type": "agents",
  "id": "1",
  "meta": { ... },
  "attributes": { ... },
  "relationships": { ... },
  "links": { ... }
}

Meta

See the definition of the meta object in ???.

Attributes

The attributes object of the agent resource MUST contain the following fields:

  • abstract: a ??? object containing a brief description for the agent. Nullable. See the definition in ???.

  • contactPoints: an array of ??? objects. Nullable. Non-empty.

  • description: a ??? object containing a description of the agent. Nullable. Conditional Assignment. See the definition in ???.

  • name: a ??? object containing the complete name of the agent. Non-nullable. Conditional Assignment. See the definition in ???.

  • shortName: a ??? object containing a short name of the agent. Nullable. See the definition in ???.

  • url: a ??? object or string describing the agent, such as a website or a Wikipedia page. Nullable. See the definition in ???.

A summary of the attributes is presented in the table below:

Field Type Constraints

abstract

???

Nullable

contactPoints

Array of ???

Nullable, Non-empty

description

???

Nullable, Conditional Assignment

name

???

Non-nullable, Conditional Assignment

shortName

???

Nullable

url

???

Nullable

Relationships

The relationships object of the agent resource MUST contain the following fields:

  • categories: a ??? category resources that are instantiated by the agent. See Section ???. Nullable. Non-empty.

    The standard defines the following disjoint categories for agents:

    • "alpinebits:person": an agent resource representing a particular person. For instance, an artist who sings at a concert or a photographer who owns the license of a photo.

    • "alpinebits:organization": an agent resource representing a public or a private organization. For instance, a company organizing an event or the owner of a mountain area.

  • multimediaDescriptions: a ??? media object resources (see ???) that are related to the agent. See Section ???. Nullable. Non-empty.

A summary of the relationships is presented in the table below:

Field Type Constraints

categories

??? object to ???

Nullable, Non-empty

multimediaDescriptions

??? object to ???

Nullable, Non-empty

See the definition of the links object in ???.

Examples

The following example presents an object containing the minimal information required of an agent resource:

{
  "type": "agents",
  "id": "1",
  "meta": {
    "dataProvider": null,
    "lastUpdate": null
  },
  "attributes": {
    "abstract": null,
    "contactPoints": null,
    "description": null,
    "name": {
      "eng": "Free University of Bozen-Bolzano"
    },
    "shortName": null,
    "url": null
  },
  "relationships": {
    "categories": null,
    "multimediaDescriptions": null
  },
  "links": {
    "self": "https://example.com/2022-04/agents/1"
  }
}

asciidoc/examples/agent.min.json

The following example presents an object representing an agent resource:

{
  "type": "agents",
  "id": "1",
  "meta": {
    "dataProvider": "https://example.com",
    "lastUpdate": "2020-04-01T08:00:00+02:00"
  },
  "attributes": {
    "abstract": {
      "ita": "La Libera Università di Bolzano sorge in una delle più attraenti regioni europee...",
      "deu": "Die Freie Universität Bozen befindet sich in einer der attraktivsten Regionen Europas...",
      "eng": "The Free University of Bozen-Bolzano is located in one of the most fascinating European regions..."
    },
    "contactPoints": [
      {
        "email": "info@noi.bz.it",
        "telephone": "+39 0471 066 600",
        "address": {
          "street": {
            "ita": "Piazza Università 1"
          },
          "city": {
            "ita": "Bolzano"
          },
          "region": {
            "ita": "Trentino-Alto Adige"
          },
          "country": "IT",
          "zipcode": "39100",
          "complement": {
            "ita": "Ufficio 3.07"
          },
          "categories": [
            "example:main"
          ]
        },
        "availableHours": {
          "dailySchedules": {
            "2020-12-23": [
              {
                "opens": "08:00:00",
                "closes": "12:00:00"
              }
            ],
            "2020-12-25": null
          },
          "weeklySchedules": [
            {
              "validFrom": "2020-01-01",
              "validTo": "2020-12-31",
              "monday": [
                {
                  "opens": "08:00:00+01:00",
                  "closes": "12:00:00+01:00"
                },
                {
                  "opens": "14:00:00+01:00",
                  "closes": "18:00:00+01:00"
                }
              ],
              "tuesday": [
                {
                  "opens": "08:00:00+01:00",
                  "closes": "12:00:00+01:00"
                },
                {
                  "opens": "14:00:00+01:00",
                  "closes": "18:00:00+01:00"
                }
              ],
              "wednesday": [
                {
                  "opens": "08:00:00+01:00",
                  "closes": "12:00:00+01:00"
                },
                {
                  "opens": "14:00:00+01:00",
                  "closes": "18:00:00+01:00"
                }
              ],
              "thursday": [
                {
                  "opens": "08:00:00+01:00",
                  "closes": "12:00:00+01:00"
                },
                {
                  "opens": "14:00:00+01:00",
                  "closes": "18:00:00+01:00"
                }
              ],
              "friday": [
                {
                  "opens": "08:00:00+01:00",
                  "closes": "12:00:00+01:00"
                },
                {
                  "opens": "14:00:00+01:00",
                  "closes": "18:00:00+01:00"
                }
              ],
              "saturday": null,
              "sunday": null
            }
          ]
        }
      }
    ],
    "description": {
      "ita": "La Libera Università di Bolzano sorge in una delle più attraenti regioni europee, al crocevia tra il mondo economico e culturale tedesco e italiano.",
      "deu": "Die Freie Universität Bozen befindet sich in einer der attraktivsten Regionen Europas an der Schnittstelle zwischen dem deutschsprachigen und italienischen Kultur- und Wirtschaftsraum.",
      "eng": "The Free University of Bozen-Bolzano is located in one of the most fascinating European regions, at the crossroads between the German-speaking and Italian economies and cultures."
    },
    "name": {
      "ita": "Libera Univeristà di Bolzano",
      "deu": "Freie Universität Bozen",
      "eng": "Free University of Bozen-Bolzano"
    },
    "shortName": {
      "eng": "Unibz"
    },
    "url": "https://www.unibz.it"
  },
  "relationships": {
    "categories": {
      "data": [
        {
          "type": "categories",
          "id": "alpinebits:organization"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/agents/1/categories"
      }
    },
    "multimediaDescriptions": {
      "data": [
        {
          "type": "mediaObjects",
          "id": "1"
        }
      ],
      "links": {
        "related": "https://example.com/2022-04/agents/1/multimediaDescriptions"
      }
    }
  },
  "links": {
    "self": "https://example.com/2022-04/agents/1"
  }
}

asciidoc/examples/agent.full.json