Skip to content
Snippets Groups Projects
README.md 2.32 KiB
Newer Older
# Preface:
Jure's avatar
Jure committed
- All groups of users are modelled with Teams
- All models have non-semantic 'created' and 'updated' dates
- All dates are ISO-8601 strings, as JATS allows for this.
# Removed:
## Journal.owners
The owners relationship is non-core/non-semantic and can be modelled with Teams if needed. As such, it will be deprecated/removed.

## Article.originalSubmissionDate
Original submission date is the first versions's submission date, and isn't needed on the container model.

## ArticleVersion.meta.contributors.middleName
JATS recommends using <given-names> elements instead

# Models

##  Journal (Collection)
Jure's avatar
Jure committed

id: ID!
journalTitle: String! // JATS uses <journal-title> element
Jure's avatar
Jure committed
articles: [ID] // ??
meta: JournalMetadata {
  publisherName: String // JATS uses <publisher-name> element
  issn: String // JATS uses <issn> element
}
Jure's avatar
Jure committed

##  Article (Fragment)
Jure's avatar
Jure committed

id: ID!
journalId: ID! // Link to Journal
versions: [ID!] // Link to Versions
Jure's avatar
Jure committed

## ArticleVersion
Jure's avatar
Jure committed

id: ID!
submissionDate: String // date
Jure's avatar
Jure committed
status: String
reviewers: [Reviewer] // Link to the members of the reviewers team for this version
files: [String] // JATS uses the ext-link element for external files
recommendations: [Recommendation] // Link the version's review's recommentations
Jure's avatar
Jure committed
decision: Decision
meta: ArticleMetadata {
  title: String // JATS uses the <title> element
  abstract: String // JATS uses the <abstract> element
  contributors: [Contributor] { // JATS uses the <contrib> element
    stringName: String // JATS uses the <string-name> element
    givenNames: String // JATS uses the <givenNames> element
    surname: String // JATS uses the <surname> element
    aff: String // JATS uses the <aff> element
  }
  authorNote: String
  publicationDate: String // date
}
Jure's avatar
Jure committed

// Decision

status: String // e.g. 'accept'
submissionDate: String // date
Jure's avatar
Jure committed
content: String
files: [String]
userId: Id // Link to the editor's user

// Reviewer

invitationDate: String // date
Jure's avatar
Jure committed
review: ID // Link to Review
accepted: Boolean
responseDate: String // date
Jure's avatar
Jure committed
userId: ID
reminders: [String] // dates
Jure's avatar
Jure committed

// Review

id: ID!
versionId: ID! // Link to Version
Jure's avatar
Jure committed
reviewerId: ID! // Link to Reviewer
content: String
files: [String]
Jure's avatar
Jure committed
recommendation: Recommendation {
  recommendation: String // ( accept | revise | etc. )
  comment: Comment {
    content: String
    public: Boolean
  }
}
submissionDate: String // date