diff --git a/schemas/src/json-ld/v1.3/nodetypes/optimade/calculations.yaml b/schemas/src/json-ld/v1.3/nodetypes/optimade/calculations.yaml new file mode 100644 index 000000000..2729452d6 --- /dev/null +++ b/schemas/src/json-ld/v1.3/nodetypes/optimade/calculations.yaml @@ -0,0 +1,6 @@ +'@context': + + id: "https://schemas.optimade.org/defs/v1.2/properties/core/id" + type: "https://schemas.optimade.org/defs/v1.2/properties/core/type" + immutable_id: "https://schemas.optimade.org/defs/v1.2/properties/core/immutable_id" + last_modified: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" diff --git a/schemas/src/json-ld/v1.3/nodetypes/optimade/files.yaml b/schemas/src/json-ld/v1.3/nodetypes/optimade/files.yaml new file mode 100644 index 000000000..c7a4eace4 --- /dev/null +++ b/schemas/src/json-ld/v1.3/nodetypes/optimade/files.yaml @@ -0,0 +1,18 @@ +'@context': + + id: "https://schemas.optimade.org/defs/v1.2/properties/core/id" + type: "https://schemas.optimade.org/defs/v1.2/properties/core/type" + immutable_id: "https://schemas.optimade.org/defs/v1.2/properties/core/immutable_id" + last_modified: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" + url: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" + url_stable_until: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/url_stable_until" + name: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/name" + size: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/size" + media_type: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/media_type" + version: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/version" + modification_timestamp: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/modification_timestamp" + description: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/description" + checksums: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/checksums" + atime: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/checksums" + ctime: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/ctime" + mtime: "https://schemas.optimade.org/defs/v1.2/properties/optimade/files/mtime" diff --git a/schemas/src/json-ld/v1.3/nodetypes/optimade/references.yaml b/schemas/src/json-ld/v1.3/nodetypes/optimade/references.yaml new file mode 100644 index 000000000..d0b2429e6 --- /dev/null +++ b/schemas/src/json-ld/v1.3/nodetypes/optimade/references.yaml @@ -0,0 +1,32 @@ +'@context': + + id: "https://schemas.optimade.org/defs/v1.2/properties/core/id" + type: "https://schemas.optimade.org/defs/v1.2/properties/core/type" + immutable_id: "https://schemas.optimade.org/defs/v1.2/properties/core/immutable_id" + last_modified: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" + address: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/address" + annote: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/annote" + booktitle: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/booktitle" + chapter: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/chapter" + crossref: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/crossref" + edition: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/edition" + howpublished: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/howpublished" + institution: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/institution" + journal: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/journal" + key: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/key" + month: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/month" + note: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/note" + number: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/number" + organization: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/organization" + pages: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/pages" + publisher: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/publisher" + school: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/school" + series: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/series" + title: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/title" + volume: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/volume" + year: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/year" + bib_type: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/bib_type" + authors: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/authors" + editors: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/editors" + doi: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/doi" + url: "https://schemas.optimade.org/defs/v1.2/properties/optimade/references/url" diff --git a/schemas/src/json-ld/v1.3/nodetypes/optimade/structures.yaml b/schemas/src/json-ld/v1.3/nodetypes/optimade/structures.yaml new file mode 100644 index 000000000..337139fce --- /dev/null +++ b/schemas/src/json-ld/v1.3/nodetypes/optimade/structures.yaml @@ -0,0 +1,32 @@ +'@context': + + id: "https://schemas.optimade.org/defs/v1.2/properties/core/id" + type: "https://schemas.optimade.org/defs/v1.2/properties/core/type" + immutable_id: "https://schemas.optimade.org/defs/v1.2/properties/core/immutable_id" + last_modified: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" + elements: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/elements" + nelements: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/nelements" + elements_ratios: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/elements_ratios" + chemical_formula_descriptive: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/chemical_formula_descriptive" + chemical_formula_reduced: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/chemical_formula_reduced" + chemical_formula_hill: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/chemical_formula_hill" + chemical_formula_anonymous: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/chemical_formula_anonymous" + dimension_types: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/dimension_types" + nperiodic_dimensions: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/nperiodic_dimensions" + lattice_vectors: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/lattice_vectors" + space_group_symmetry_operations_xyz: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/space_group_symmetry_operations_xyz" + space_group_symbol_hall: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/space_group_symbol_hall" + space_group_symbol_hermann_mauguin: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/space_group_symbol_hermann_mauguin" + space_group_symbol_hermann_mauguin_extended: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/space_group_symbol_hermann_mauguin_extended" + space_group_it_number: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/space_group_it_number" + cartesian_site_positions: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/cartesian_site_positions" + fractional_site_positions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/structures/fractional_site_positions" + site coordinate span: "https://schemas.optimade.org/defs/v1.3/properties/optimade/structures/site_coordinate_span" + site_coordinate_span_description: "https://schemas.optimade.org/defs/v1.3/properties/optimade/structures/site_coordinate_span_description" + nsites: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/nsites" + species_at_sites: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/species_at_sites" + species: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/species" + assemblies: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/assemblies" + wyckoff_positions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/structures/wyckoff_positions" + structure_features: "https://schemas.optimade.org/defs/v1.2/properties/optimade/structures/structure_features" + optimization_type: "https://schemas.optimade.org/defs/v1.3/properties/optimade/structures/optimization_type" diff --git a/schemas/src/json-ld/v1.3/nodetypes/optimade/trajectories.yaml b/schemas/src/json-ld/v1.3/nodetypes/optimade/trajectories.yaml new file mode 100644 index 000000000..cca8dde7f --- /dev/null +++ b/schemas/src/json-ld/v1.3/nodetypes/optimade/trajectories.yaml @@ -0,0 +1,32 @@ +'@context': + + id: "https://schemas.optimade.org/defs/v1.2/properties/core/id" + type: "https://schemas.optimade.org/defs/v1.2/properties/core/type" + immutable_id: "https://schemas.optimade.org/defs/v1.2/properties/core/immutable_id" + last_modified: "https://schemas.optimade.org/defs/v1.2/properties/core/last_modified" + elements: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/elements" + nelements: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/nelements" + elements_ratios: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/elements_ratios" + chemical_formula_descriptive: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/chemical_formula_descriptive" + chemical_formula_reduced: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/chemical_formula_reduced" + chemical_formula_hill: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/chemical_formula_hill" + chemical_formula_anonymous: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/chemical_formula_anonymous" + dimension_types: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/dimension_types" + nperiodic_dimensions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/nperiodic_dimensions" + lattice_vectors: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/lattice_vectors" + space_group_symmetry_operations_xyz: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/space_group_symmetry_operations_xyz" + space_group_symbol_hall: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/space_group_symbol_hall" + space_group_symbol_hermann_mauguin: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/space_group_symbol_hermann_mauguin" + space_group_symbol_hermann_mauguin_extended: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/space_group_symbol_hermann_mauguin_extended" + space_group_it_number: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/space_group_it_number" + cartesian_site_positions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/cartesian_site_positions" + fractional_site_positions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/fractional_site_positions" + site coordinate span: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/site_coordinate_span" + site_coordinate_span_description: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/site_coordinate_span_description" + nsites: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/nsites" + species_at_sites: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/species_at_sites" + species: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/species" + assemblies: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/assemblies" + wyckoff_positions: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/wyckoff_positions" + structure_features: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/structure_features" + optimization_type: "https://schemas.optimade.org/defs/v1.3/properties/optimade/trajectories/optimization_type" diff --git a/schemas/src/json-ld/v1.3/optimade.yaml b/schemas/src/json-ld/v1.3/optimade.yaml new file mode 100644 index 000000000..44f02e081 --- /dev/null +++ b/schemas/src/json-ld/v1.3/optimade.yaml @@ -0,0 +1,27 @@ +'@context': + + id: "@id" + type: "@type" + + data: "@graph" + attributes: "@nest" + + structures: + '@id': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/structures" + '@context': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/structures.json" + + calculations: + '@id': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/calculations" + '@context': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/calculations.json" + + files: + '@id': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/files" + '@context': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/files.json" + + references: + '@id': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/references" + '@context': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/references.json" + + trajectories: + '@id': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/trajectories" + '@context': "https://schemas.optimade.org/json-ld/v1.3/nodetypes/optimade/trajectories.json" diff --git a/schemas/src/json-schema/v1.3/jsonapi.json b/schemas/src/json-schema/v1.3/jsonapi.json new file mode 120000 index 000000000..fd01c82ad --- /dev/null +++ b/schemas/src/json-schema/v1.3/jsonapi.json @@ -0,0 +1 @@ +../../../../external/json-api/schema.json \ No newline at end of file diff --git a/schemas/src/json-schema/v1.3/optimade.yaml b/schemas/src/json-schema/v1.3/optimade.yaml new file mode 100644 index 000000000..3263ef36f --- /dev/null +++ b/schemas/src/json-schema/v1.3/optimade.yaml @@ -0,0 +1,39 @@ +$schema: "https://json-schema.org/draft/2020-12/schema" +$$inherit: "jsonapi.json" +title: "OPTIMADE schema" +description: "This is a schema for responses in the JSON output format from the OPTIMADE API. It is directly based on the schema for JSON:API." +definitions: + resource: + oneOf: + - type: "object" + properties: + type: + const: "structures" + attributes: + $ref: "#endpoints/entrytypes/structures" + - type: "object" + properties: + type: + const: "calculations" + attributes: + $ref: "#endpoints/entrytypes/calculations" + - type: "object" + properties: + type: + const: "files" + attributes: + $ref: "#endpoints/entrytypes/files" + - type: "object" + properties: + type: + const: "references" + attributes: + $ref: "#endpoints/entrytypes/references" + - type: "object" + properties: + type: + const: "trajectories" + attributes: + $ref: "#endpoints/entrytypes/trajectories" +endpoints: + $$inherit: "/v1.3/standards/optimade"