Skip to content

Commit

Permalink
Merge pull request #4 from w3c/ege-fixes
Browse files Browse the repository at this point in the history
Documentation fixes and regenarate project folder
  • Loading branch information
egekorkan authored May 21, 2024
2 parents 7b09b12 + 86fe4f4 commit 5d07154
Show file tree
Hide file tree
Showing 15 changed files with 9,230 additions and 578 deletions.
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<<<<<<< HEAD
# Temporary WoT TD Tooling

The thing-description-schema is a LinkML-based schema for modelling the [Web of Things Thing Description](https://www.w3.org/TR/wot-thing-description11/) information model.
This repository is a LinkML-based schema for modelling the [Web of Things Thing Description](https://www.w3.org/TR/wot-thing-description11/) information model.
The aim is simplify the current WoT specification generation process.
For more information please refer to the [WoT github repo](https://github.com/w3c/wot-thing-description/tree/main/toolchain).

Expand All @@ -18,11 +17,9 @@ For more information please refer to the [WoT github repo](https://github.com/w3

## Developer Documentation

<details>
Use the `make` command to generate project artefacts:

* `make test`: validate the LinkML schema on test instances
* `make all`: make everything
* `make deploy`: deploys site
</details>
>>>>>>> thing-description-schema/master
* Install [Make](https://www.gnu.org/software/make)
* Install Python 3 (try to upgrade your version if the following steps do not work)
* Install [Poetry](https://python-poetry.org/)
* Run `poetry install` to install dependencies
* Run `make all` create all resources
* When ready, run `make test` to validate the LinkML schema, based on the test data found in `examples` folder
2,544 changes: 2,544 additions & 0 deletions poetry.lock

Large diffs are not rendered by default.

Binary file modified project/excel/thing_description_schema.xlsx
Binary file not shown.
163 changes: 151 additions & 12 deletions project/graphql/thing_description_schema.graphql
Original file line number Diff line number Diff line change
@@ -1,23 +1,162 @@
type NamedThing
# metamodel_version: 1.7.0
type ActionAffordance
{
id: Uriorcurie!
name: String
titles: [MultiLanguage]
descriptions: [MultiLanguage]
title: MultiLanguage
description: MultiLanguage
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
name: String!
uriVariables: [DataSchema]
forms: [Form]
safe: Boolean
synchronous: Boolean
idempotent: Boolean
input: DataSchema
output: DataSchema
}

type AdditionalExpectedResponse
{
contentType: String!
additionalOutputSchema: String
success: Boolean
schema: String
}

type DataSchema
{
description: MultiLanguage
title: MultiLanguage
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
propertyName: String
writeOnly: String
readonly: String
}

type EventAffordance
{
titles: [MultiLanguage]
descriptions: [MultiLanguage]
title: MultiLanguage
description: MultiLanguage
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
name: String!
uriVariables: [DataSchema]
forms: [Form]
subscription: DataSchema
cancellation: DataSchema
notification: DataSchema
notificationResponse: DataSchema
}

type ExpectedResponse
{
contentType: String!
}

type Form
{
target: AnyUri!
href: AnyUri!
contentType: String
contentCoding: String
securityDefinitions: String
scopes: String
returns: ExpectedResponse
additionalReturns: [AdditionalExpectedResponse]
subprotocol: String
operationType: [OperationTypes]
}

type InteractionAffordance
{
titles: [MultiLanguage]
descriptions: [MultiLanguage]
title: MultiLanguage
description: MultiLanguage
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
name: String!
uriVariables: [DataSchema]
forms: [Form]
}

type Link
{
target: AnyUri!
hintsAtMediaType: String
type: String
relation: String
anchor: AnyUri
sizes: String
hreflang: String
}

type MultiLanguage
{
key: String!
}

type PropertyAffordance implements DataSchema
{
titles: [MultiLanguage]
descriptions: [MultiLanguage]
title: MultiLanguage
description: MultiLanguage
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
name: String!
uriVariables: [DataSchema]
forms: [Form]
observable: Boolean
propertyName: String
writeOnly: String
readonly: String
}

type SecurityScheme
{
@type: [String]
descriptions: [MultiLanguage]
description: String
proxy: AnyUri
scheme: SecuritySchemeType!
}

type Thing
{
id: Uriorcurie!
name: String
description: String
primaryEmail: String
birthDate: Date
ageInYears: Integer
vitalStatus: PersonStatus
id: AnyUri!
title: MultiLanguage
description: MultiLanguage
titles: [MultiLanguage]
descriptions: [MultiLanguage]
@type: [String]
titleInLanguage: MultiLanguage
descriptionInLanguage: MultiLanguage
securityDefinitions: [String]
security: [String]
schemaDefinitions: [DataSchema]
profile: [AnyUri]
instance: String
created: Datetime
modified: Datetime
supportContact: AnyUri
base: AnyUri
version: VersionInfo
forms: [Form]
links: [Link]
properties: [PropertyAffordance]
actions: [ActionAffordance]
events: [EventAffordance]
}

type ThingCollection
type VersionInfo
{
entries: [Thing]
instance: String!
model: String
}

Loading

0 comments on commit 5d07154

Please sign in to comment.