Skip to content

references

Person (BaseModel) pydantic-model

A person, i.e., an author, editor or other.

firstname: str pydantic-field

First name of the person.

lastname: str pydantic-field

Last name of the person.

name: str pydantic-field required

Full name of the person, REQUIRED.

ReferenceResource (EntryResource) pydantic-model

The references entries describe bibliographic references.

The following properties are used to provide the bibliographic details:

  • address, annote, booktitle, chapter, crossref, edition, howpublished, institution, journal, key, month, note, number, organization, pages, publisher, school, series, title, volume, year: meanings of these properties match the BibTeX specification, values are strings;
  • bib_type: type of the reference, corresponding to type property in the BibTeX specification, value is string;
  • authors and editors: lists of person objects which are dictionaries with the following keys:
    • name: Full name of the person, REQUIRED.
    • firstname, lastname: Parts of the person's name, OPTIONAL.
  • doi and url: values are strings.
  • Requirements/Conventions:
    • Support: OPTIONAL support in implementations, i.e., any of the properties MAY be null.
    • Query: Support for queries on any of these properties is OPTIONAL. If supported, filters MAY support only a subset of comparison operators.
    • Every references entry MUST contain at least one of the properties.

validate_attributes(v) classmethod

Source code in optimade/models/references.py
@validator("attributes")
def validate_attributes(cls, v):
    if not any(prop[1] is not None for prop in v):
        raise ValueError("reference object must have at least one field defined")
    return v

ReferenceResourceAttributes (EntryResourceAttributes) pydantic-model

Model that stores the attributes of a reference.

Many properties match the meaning described in the BibTeX specification.

address: str pydantic-field

Meaning of property matches the BiBTeX specification.

annote: str pydantic-field

Meaning of property matches the BiBTeX specification.

authors: List[optimade.models.references.Person] pydantic-field

List of person objects containing the authors of the reference.

bib_type: str pydantic-field

Type of the reference, corresponding to the type property in the BiBTeX specification.

booktitle: str pydantic-field

Meaning of property matches the BiBTeX specification.

chapter: str pydantic-field

Meaning of property matches the BiBTeX specification.

crossref: str pydantic-field

Meaning of property matches the BiBTeX specification.

doi: str pydantic-field

The digital object identifier of the reference.

edition: str pydantic-field

Meaning of property matches the BiBTeX specification.

editors: List[optimade.models.references.Person] pydantic-field

List of person objects containing the editors of the reference.

howpublished: str pydantic-field

Meaning of property matches the BiBTeX specification.

institution: str pydantic-field

Meaning of property matches the BiBTeX specification.

journal: str pydantic-field

Meaning of property matches the BiBTeX specification.

key: str pydantic-field

Meaning of property matches the BiBTeX specification.

month: str pydantic-field

Meaning of property matches the BiBTeX specification.

note: str pydantic-field

Meaning of property matches the BiBTeX specification.

number: str pydantic-field

Meaning of property matches the BiBTeX specification.

organization: str pydantic-field

Meaning of property matches the BiBTeX specification.

pages: str pydantic-field

Meaning of property matches the BiBTeX specification.

publisher: str pydantic-field

Meaning of property matches the BiBTeX specification.

school: str pydantic-field

Meaning of property matches the BiBTeX specification.

series: str pydantic-field

Meaning of property matches the BiBTeX specification.

title: str pydantic-field

Meaning of property matches the BiBTeX specification.

url: AnyUrl pydantic-field

The URL of the reference.

volume: str pydantic-field

Meaning of property matches the BiBTeX specification.

year: str pydantic-field

Meaning of property matches the BiBTeX specification.