123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424 |
- schema {
- query: query
- mutation: mutation
- }
- "Annotations object"
- type Annotation {
- "GraphID for annotation node"
- graphId: String
- context: String!
- "id"
- id: String!
- "object type"
- type: EntityType!
- "Annotation motivation"
- motivation: String!
- "The agent responsible for creation of annotation"
- creator: Creator!
- "The date-time of creation of annotation"
- created: String!
- "The agent responsible for generation of annotation"
- generator: Generator!
- "Date-time of generation of annotation"
- generated: String!
- "Annotation body"
- body: [bodyType!]
- "Annotation target"
- target: [targetType!]!
- }
- input AnnotationInput {
- targetId: String!
- motivation: String!
- body: BodyInput!
- target: Target!
- concept: String
- }
- type AuthPayload {
- token: String!
- user: User!
- }
- input BodyInput {
- typ: String!
- motivation: String!
- value: String!
- format: String!
- language: String!
- creator: String!
- concept: String
- }
- input Comment {
- targetId: String!
- value: String!
- }
- type Creator {
- graphId: String!
- typ: EntityType!
- name: String!
- nickname: String!
- }
- input CsvIngestInput {
- filePath: String!
- crosswalk: [FlatRecordMapper!]!
- partner: PartnerInput!
- }
- "Date range, inclusive"
- type DateRange {
- "Date starting from"
- from: String!
- "Date ending"
- to: String!
- }
- "ISO-8601 formatted string of format: 2017-06-25"
- input DateRangeInput {
- from: String!
- to: String!
- }
- type EntityFilter {
- blob: String!
- lang: [Language!]
- dateRange: DateRange
- subjects: [Subject!]
- people: [Person!]
- places: [Place!]
- partners: [Partner!]
- }
- input EntityFilterInput {
- blob: String!
- dateRange: DateRangeInput
- lang: [String!]
- subjects: [String!]
- people: [String!]
- places: [String!]
- partners: [String!]
- }
- enum EntityType {
- Text
- Sound
- Video
- Image
- Dataset
- SpecificResource
- TextualBody
- LocalResource
- Software
- Client
- Ni
- User
- Partner
- Person
- Annotation
- MilliEntity
- Language
- Place
- Subject
- }
- """
- Map from a flat-record to any level of
- nested record structure. Ensure column names are unique.
- """
- input FlatRecordMapper {
- field: ValidField!
- columnName: String!
- default: String!
- }
- type Generator {
- graphId: String!
- typ: EntityType!
- name: String!
- homepage: String!
- }
- type Image {
- graphId: String!
- typ: EntityType!
- src: String!
- alt: String
- size: ImageSize!
- }
- enum ImageSize {
- LARGE
- MEDIUM
- SMALL
- }
- type Language {
- graphId: String!
- typ: EntityType!
- langId: String!
- displayName: String!
- isSelected: Boolean!
- }
- "LocalResource wraps a NiosxEntity as the body of the annotation."
- type LocalResource {
- "One of NiosxEntity types"
- entity: NiosxEntityUnion
- "IRI of the LocalResource"
- iri: String!
- "GraphId of the LocalResource"
- graphId: String!
- "IRI of the Body"
- source: String!
- "Concept with which the Body is attached to the Entity."
- concept: NiosxConcept!
- "Type of the Body entity."
- type: EntityType!
- }
- type MilliEntity {
- graphId: String!
- typ: EntityType!
- agencyCode: String!
- recordId: String!
- unitId: String!
- title: String!
- creator: String!
- dateOfCreation: String!
- extent: String!
- level: String!
- partner: Partner!
- subjects: [Subject!]!
- images: [Image!]!
- description: String
- location: String
- accessRestrict: String
- useRestrict: String
- language: String
- unitType: String
- format: String
- annotations: [Annotation!]!
- }
- "The concept layer connecting all entities via annotations."
- type NiosxConcept {
- """
- Name of the concept.
- This is one of system defined values or a user given name.
- """
- name: String!
- }
- "All Types identified by the niosx ecosystem"
- interface NiosxEntity {
- "A unique identity for the entity in the niosx ecosystem."
- graphId: String!
- "The `type` is a String representation of the entity type."
- type: EntityType!
- }
- input NiosxEntityInput {
- agencyCode: String!
- recordId: String!
- unitId: String!
- title: String!
- creator: String!
- dateOfCreation: String!
- extent: String!
- level: String!
- partner: String!
- description: String
- location: String
- accessRestrict: String
- useRestrict: String
- language: String
- unitType: String
- format: String
- }
- "Is one the the niosx Entities."
- union NiosxEntityUnion = TextualBody | LocalResource | Subject
- input NiosxUser {
- username: String!
- password: String!
- role: String!
- }
- type Page {
- edges: [PageEdge!]!
- pageInfo: PageInfo!
- }
- type PageEdge {
- node: MilliEntity!
- cursor: String!
- offset: Long!
- isDirectMatch: Boolean!
- annotationMatchCount: Int!
- }
- type PageInfo {
- pageNumber: Int!
- endCursor: String!
- hasNextPage: Boolean!
- filters: EntityFilter!
- }
- type Partner {
- graphId: String!
- typ: EntityType!
- displayName: String!
- isSelected: Boolean!
- }
- input PartnerInput {
- graphId: String = "4ebb7326-dcbb-4056-bff3-7c76c059a000"
- typ: EntityType = Partner
- displayName: String!
- isSelected: Boolean = true
- }
- type Person {
- graphId: String!
- typ: EntityType!
- displayName: String!
- isSelected: Boolean!
- }
- type Place {
- graphId: String!
- typ: EntityType!
- lat: Float!
- lon: Float!
- displayName: String!
- isSelected: Boolean!
- }
- type SpecificResourceType {
- graphId: String!
- typ: EntityType!
- source: String!
- targetId: String!
- }
- type Subject {
- graphId: String!
- typ: EntityType!
- prefLabel: String!
- inScheme: String!
- id: String!
- isSelected: Boolean!
- }
- input SubjectAnnoInput {
- targetId: String!
- subjectId: String
- prefLabel: String
- }
- input SubjectIn {
- prefLabel: String!
- inScheme: String!
- id: String!
- }
- input Target {
- source: String!
- targetId: String!
- }
- type TextualBody implements NiosxEntity {
- graphId: String!
- typ: EntityType!
- iri: String!
- purpose: String!
- value: String!
- format: String!
- language: String!
- creator: String!
- concept: NiosxConcept!
- "The `type` is a String representation of the entity type."
- type: EntityType!
- }
- type User {
- username: String!
- permissions: [String!]
- }
- enum ValidField {
- ME_format
- ME_unitType
- ME_language
- ME_useRestrict
- ME_accessRestrict
- ME_location
- ME_description
- ME_subject
- ME_image
- ME_level
- ME_extent
- ME_dateOfCreation
- ME_creator
- ME_title
- ME_unitId
- ME_agencyCode
- ME_recordId
- }
- "Can be one of TextualBodyType, etc."
- union bodyType = TextualBody | LocalResource
- type mutation {
- rdfIngest(rdf_file: String!, schema: String!): Int!
- ingestWithCrosswalk(csvIngestInput: CsvIngestInput!): Int!
- addEntity(niosxEntityInput: NiosxEntityInput!): MilliEntity
- addAnnotation(annotation: AnnotationInput!): Annotation
- addSubAnno(subjectAnno: SubjectAnnoInput!): Annotation
- addComment(comment: Comment!): Annotation
- addSubject(SubjectIn: SubjectIn!): Subject
- login(username: String!, password: String!): AuthPayload
- register(niosxUserInput: NiosxUser!): String!
- }
- type query {
- "Paginated list of entities"
- searchCollections(next: Int!, cursor: String, entityFilterInputArg: EntityFilterInput!): Page
- "Returns everything! Be careful!"
- crudeSearch(blob: String!): [MilliEntity!]!
- "Test if there is an object with this graphId"
- isValidGraphId(id: String!): Boolean!
- "Look up an entity with its graphId"
- findEntity(id: String!): MilliEntity
- "Look up a user with its username"
- findUser(username: String!): User
- }
- "Can be one of SpecificResource, etc."
- union targetType = SpecificResourceType
|