URI-based reference¶
The classes below are used to refer to unique objects on the web based on their URIs.
The classes are supplied to fulfill our needs for the time being, but it may be substituted later if there exists any structure general enough to be used.
Note
TODO: make a nice class diagram
Referrable class¶
-
class
Referrable¶ the base class being used to refer to anything “referrable” on the web. Both
nameanduriproperties are required.-
name¶ a human-readable
stringdescription of this object.
-
uri¶ a
stringrepresenting the URI-based ID of this object. Can benull(but not recommended), if thisReferrabledoes not have any ID (although it may sound paradoxical).
-
Individual class¶
Any individuals (people, institutions, companies etc.) being referred to through the URI,
are represented by the Individual class.
For reference to a person, in particular, the Person class is used.
-
class
Individual¶ a subclass of
Referrablebeing used to identify any individuals (people, institutions, companies etc.).-
name¶ a required property inherited from
Referrable.name. It would typically reflect what would appear as the “full-name” on the web pages.
-
uri¶ a required property inherited from
Referrable.uri.- for an institution/company: the URL for its website (starting with
https://) - for a person: the ORCID (starting with
ORCID:)
Can be
null(but not recommended), if this individual does not have any ID.- for an institution/company: the URL for its website (starting with
-
Person class¶
-
class
Person¶ a subclass of
Individualbeing used to refer to a person. All of the properties described below are necessary.-
name¶ inherited from
Individual.name. The full name as it would appear on the web pages.
-
uri¶ inherited from
Individual.uri. The ORCID (astringstarting withORCID:) of this person.
-
lastname¶ a
stringrepresenting the last name of this person. This is used to identify the person across the database, especially if theuriproperty is set to benull.
-
firstnames¶ a
stringrepresenting the first names (i.e. other than the last name) of this person. This is used to identify the person across the database, especially if theuriproperty is set to benull.
-
contact¶ a
stringrepresenting the contact information of this person.It is recommended to contain the e-mail address of the person here, but it can be the mailing address, too.
This field can well be
nullif this person does not have, or is not willing to share, a contact.
-
License class¶
-
class
License¶ a class being used to represent a license type of the subject being described.
For example, a CC0-license may be represented using
Licenseas follows:{ "name": "CC0", "uri": "http://creativecommons.org/publicdomain/zero/1.0", "year": "2019", "authors": { "$ref": "/organization/people" } }
a
Licenseobject must have properties below:-
name¶ equivalent to
Referrable.name. It represents the shorthand of the license e.g. “CC0”, “MIT”, “GPL2”.
-
uri¶ equivalent to
Referrable.uri. It may be the terms and conditions representing this license.
a set of JSON objects, or a reference to it, representing the holder(s) of this license.
-
year¶ a
stringrepresenting the year (or a range of years) when this license is valid from.
-
Citation class¶
-
class
Citation¶ a subclass of
Referrablebeing used to refer to a unique article on the web.For example, a citation may be described using
Citationas follows:{ "reference-type": "is-supplement-to", "name": "Sehara K, Colomb J, Larkum ME (2019) Dendritic mechanisms underlying foraging behavior of human subjects.", "uri": "doi:10.1101/000000" }
The following properties are required:
-
name¶ equivalent to
Referrable.name, and is used to represent the human-readable citation.
-
uri¶ equivalent to
Referrable.uri. It represents the URI of the article, and may start either withhttps://or withdoi:, depending on the type of the article.
-
reference-type a
stringrepresenting how this citation works. valid types may be found below:type description is-supplement-to used when the subject being described is a supplement to the citation.
-