diff --git a/schema/CreativeWork.schema.yaml b/schema/CreativeWork.schema.yaml index a94d443b8f..ab8fc5fd1e 100644 --- a/schema/CreativeWork.schema.yaml +++ b/schema/CreativeWork.schema.yaml @@ -29,3 +29,7 @@ properties: anyOf: - $ref: URL.schema.yaml - $ref: CreativeWork.schema.yaml + text: + '@id': schema:text + description: The textual content of this CreativeWork. + type: string diff --git a/schema/MediaObject.schema.yaml b/schema/MediaObject.schema.yaml index c416bb597d..f4e63ee49b 100644 --- a/schema/MediaObject.schema.yaml +++ b/schema/MediaObject.schema.yaml @@ -10,5 +10,5 @@ properties: contentUrl: '@id': schema:contentUrl description: Actual bytes of the media object, for example the image file or video file. - anyOf: + allOf: - $ref: URL.schema.yaml diff --git a/schema/Thing.schema.yaml b/schema/Thing.schema.yaml index af01123b57..8b85d280c1 100644 --- a/schema/Thing.schema.yaml +++ b/schema/Thing.schema.yaml @@ -6,9 +6,11 @@ description: The most generic type of item https://schema.org/Thing. type: object properties: type: - # Note: this is a special property analagous to JSON-LD's `@type` keyword + # This is a special property analagous to JSON-LD's `@type` keyword # and so should not have a `@id` since it is not a property. - description: The name of the type + # It is extended with the titles of all descendant types during + # the generation of schema.json files. + description: The name of the type and all descendant types. type: string enum: [Thing] alternateNames: @@ -25,5 +27,10 @@ properties: '@id': schema:name description: The name of the item. type: string + url: + '@id': schema:url + description: The URL of the item. + allOf: + - $ref: URL.schema.yaml required: - type diff --git a/schema/software/Expression.schema.yaml b/schema/software/Expression.schema.yaml index 9b8861764b..e17c905d62 100644 --- a/schema/software/Expression.schema.yaml +++ b/schema/software/Expression.schema.yaml @@ -2,7 +2,10 @@ title: Expression '@id': Expression $extends: SoftwareSourceCode.schema.yaml role: secondary -status: Experimental +status: experimental description: An expression. properties: - value: {} + value: + '@id': stencila:value + allOf: + - $ref: ../Node.schema.yaml diff --git a/schema/software/SoftwareSourceCode.schema.yaml b/schema/software/SoftwareSourceCode.schema.yaml index 10983307f8..2be575e0c4 100644 --- a/schema/software/SoftwareSourceCode.schema.yaml +++ b/schema/software/SoftwareSourceCode.schema.yaml @@ -10,7 +10,8 @@ properties: '@id': schema:codeRepository description: | Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex) - $ref: URL.schema.yaml + allOf: + - $ref: URL.schema.yaml codeSampleType: '@id': schema:codeSampleType description: |