5 Cloud Library Data Model for REST & GraphQL Interface
The following diagram describes the class hierarchy of the NameSpace query for the GraphQL interface. It is also used for uploading and downloading NameSpaces via the REST interface.
5.1 Organization
The Organization Definition represents an organization which may contribute Companion Specifications to the UA Companion Specification Cloud Library.
| Property | Description | Type | Required |
|---|---|---|---|
| Name | Name of this organization | String | Mandatory |
| Description | Description of this organization | String | Optional |
| LogoUrl | URL providing the Logo for this organization | String | Optional |
| ContactEmail | E-Mail address to contact this organization | String | Optional |
| WebSite | URL to the organization website | String | Optional |
5.2 Category
The Category describes a collection of NameSpaces, for example all companion specifications released by the VDMA. Each NameSpace is assigned to one Category.
| Property | Description | Type | Required |
|---|---|---|---|
| Name | Name of this category | String | Mandatory |
| Description | Description of this category | String | Optional |
| IconUrl | URL to a ICON for this category | String | Optional |
5.3 License
The License enumeration defines some predefined well known license types which are available for contributors of NameSpaces to use or select Custom as the enumeration value and provide a LicenseUrl where the consumer may find detailed license information.
| Enumeration Value | Description |
|---|---|
| MIT | Usage is covered by the MIT License. See https://tldrlegal.com/license/mit-license |
| ApacheLicense2 | Usage is covered by the Apache License 2.0. See https://tldrlegal.com/license/apache-license-2.0-(apache-2.0) |
| Custom | Custom license provided by the NameSpace contributor, see the provided information under the given LicenseUrl. |
5.4 NodeSet2
The NodeSet2 holds the OPC UA NodeSet for the related NameSpace. Access to this entity should only be provided to users allowed to download the NodeSet file.
| Property | Description | Type | Required |
|---|---|---|---|
| NodeSetXML | XML providing the OPC UA NodeSet for related NameSpace | String | Mandatory |
| PublicationDate | Date and time the NodeSet was published | DateTime | Mandatory (retrieved from nodeset file) |
| LastModifiedDate | Date and time the NodeSet was last modified | DateTime | Mandatory (retrieved from nodeset file) |
5.5 NameSpace
The NameSpace contains meta data describing the NodeSet2 to provide relevant and searchable information. The NameSpace must contain a NodeSet2.
| Property | Description | Type | Required |
|---|---|---|---|
| Title | Title of the NameSpace | String | Mandatory |
| Version | Version of the NameSpace | String | Mandatory |
| License | License for the usage of this NameSpace | License | Mandatory |
| Contributor | Contributing organization | Organization | Mandatory |
| Description | Description of the NameSpace | String | Optional |
| Category | Category of the NameSpace | Category | Mandatory |
| NodeSet | Reference to the NodeSet entry of the NameSpace | NodeSet2 | Mandatory for storage, only filled if user has access |
| OPCFDocumentNumber | If the NameSpace is a official UA Information Model this refers to the OPC XYZ number of the published document. E.g. “OPC 40001-1” for the “UA CS for Machinery Part 1 - Basic Building Blocks” | String | Optional |
| IconUrl | URL to a ICON for this NameSpace | String | Optional |
| LicenseUrl | A URL providing the custom license information | String | Optional |
| KeyWords | String[] | Mandatory | |
| PurchaseInformationUrl | A URL providing optional purchase information for this model. | String | Optional |
5.6 UANodesetResult
The UANodesetResult contains identification and other meta data for a search result for a given array of search strings.
| Property | Description | Type | Required |
|---|---|---|---|
| Id | A unique identifier for the UANodesetResult | UInt | Mandatory |
| Title | Title of the UANodesetResult | String | Mandatory |
| Contributor | Contributing organization | String | Mandatory |
| License | License for the usage of the UANodesetResult | String | Mandatory |
| Version | Version of the UANodesetResult | String | Mandatory |
| CreationTime | Date and time the UANodesetResult entry was created | DateTime | Optional |
5.7 Testing
The OpenAPI REST interface may be tested using existing tools available online, e.g. “Swagger Inspector”.
DotNet unit tests shall be added, allowing private implementations of the UA Cloud Library verify the behaviour according to specification.