$base: "https://w3id.org/cwl/salad#" $namespaces: sld: "https://w3id.org/cwl/salad#" dct: "http://purl.org/dc/terms/" rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdfs: "http://www.w3.org/2000/01/rdf-schema#" xsd: "http://www.w3.org/2001/XMLSchema#" $graph: - name: "Schema" type: documentation doc: | # Schema - name: Documented type: record abstract: true docParent: "#Schema" fields: - name: doc type: - string? - string[]? doc: "A documentation string for this object, or an array of strings which should be concatenated." jsonldPredicate: "rdfs:comment" - name: PrimitiveType type: enum symbols: - "sld:null" - "xsd:boolean" - "xsd:int" - "xsd:long" - "xsd:float" - "xsd:double" - "xsd:string" doc: - | Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information. - "null: no value" - "boolean: a binary value" - "int: 32-bit signed integer" - "long: 64-bit signed integer" - "float: single precision (32-bit) IEEE 754 floating-point number" - "double: double precision (64-bit) IEEE 754 floating-point number" - "string: Unicode character sequence" - name: Any type: enum symbols: ["#Any"] docAfter: "#PrimitiveType" doc: | The **Any** type validates for any non-null value. - name: RecordField type: record extends: Documented doc: A field of a record. fields: - name: name type: string jsonldPredicate: "@id" doc: | The name of the field - name: type type: - PrimitiveType - RecordSchema - EnumSchema - ArraySchema - string - type: array items: - PrimitiveType - RecordSchema - EnumSchema - ArraySchema - string jsonldPredicate: _id: sld:type _type: "@vocab" typeDSL: true refScope: 2 doc: | The field type - name: RecordSchema type: record fields: type: doc: "Must be `record`" type: type: enum symbols: - "sld:record" jsonldPredicate: _id: "sld:type" _type: "@vocab" typeDSL: true refScope: 2 fields: type: RecordField[]? jsonldPredicate: _id: sld:fields mapSubject: name mapPredicate: type doc: "Defines the fields of the record." - name: EnumSchema type: record doc: | Define an enumerated type. fields: type: doc: "Must be `enum`" type: type: enum symbols: - "sld:enum" jsonldPredicate: _id: "sld:type" _type: "@vocab" typeDSL: true refScope: 2 symbols: type: string[] jsonldPredicate: _id: "sld:symbols" _type: "@id" identity: true doc: "Defines the set of valid symbols." - name: ArraySchema type: record fields: type: doc: "Must be `array`" type: type: enum symbols: - "sld:array" jsonldPredicate: _id: "sld:type" _type: "@vocab" typeDSL: true refScope: 2 items: type: - PrimitiveType - RecordSchema - EnumSchema - ArraySchema - string - type: array items: - PrimitiveType - RecordSchema - EnumSchema - ArraySchema - string jsonldPredicate: _id: "sld:items" _type: "@vocab" refScope: 2 doc: "Defines the type of the array elements."