Skip to content

OpenReview Types

mspector edited this page Aug 15, 2018 · 3 revisions

Summary

At the heart of OpenReview is a set of primitive OpenReview Object Types that interact in clearly defined ways - they are the building blocks of the entire system.

The flow of information in OpenReview - who is allowed to add content to the system and when, who has access to what - is dictated by the specific arrangement of these objects.

Users interact with the system by creating and modifying OpenReview Objects, either through the web interface at openreview.net or through the open REST API.

OpenReview Objects

All objects in OpenReview are represented with JSON. The three primary OpenReview Object Types are Groups, Notes, and Invitations.

All OpenReview Objects have the following fields:

{
  'id': // a string representing the object. the format of the object id depends on its type.
  'readers': // a list of Group ids representing entities that have permission to read this object.
  'writers': // a list of Group ids representing entities that have permission to modify this object.
  'signatures': // a list of Group ids that have created or modified this group.
}

Primary Object Types

Each Object type has its own set of specialized fields, and has specific rules about how it interacts with other Objects.

Groups represent entities in the system. These may be individuals, collections of individuals, institutions, or any other kind of entity. Groups have members, which are themselves Groups. Group membership is the basis of the permission system that controls who can access what, and when they can access it.

Notes represent stored records in the system. These may be paper submissions, comments, reviews, or any other kind of record. Discussion on OpenReview is based hierarchies of Notes: each Note has a replyto field, which points to its immediate parent (if it has one), and a forum field, which points to the Note at the root of the discussion forum. Notes must be added under a specific Invitation, specified by its invitation field.

Invitations represent requests for user-submitted content, and act as gatekeepers for Notes being added to the system. An Invitation defines constraints on Notes that can be added to the system under that Invitation: for example, an Invitation might specify that any Notes added under it must have a title, an abstract, and must be submitted anonymously.