Skip to content

Inheritance problem in generated jsonScheme.json for DDI4 model #56

Closed
@vbeinserm

Description

@vbeinserm

In the DDI4 model documentation NameType should inherit a String property form InternationalStringType

nametype_inheritence

in the generated jsonScheme.json, the nameType object has no reference to InternationalStringType

    "nameType": {
      "type": "object",
      "properties": {
        "isPreferred": {
          "type": "boolean",
          "MultiplicityElement": {
            "lower": 0,
            "upper": 1
          },
          "Description": "If more than one name for the object is provided, use the isPreferred attribute to indicate which is the preferred name content. All other names should be set to isPreferred=\"false\"."
        },
        "context": {
          "type": "string",
          "MultiplicityElement": {
            "lower": 0,
            "upper": 1
          },
          "Description": "A name may be specific to a particular context, i.e., a type of software, or a section of a registry. Identify the context related to the specified name."
        }
      },
      "additionalProperties": false
    },

Thus using the jsonScheme as an input for DDI4 model, we have no way to specify the actual name of the software in studyUnit : Software is a softwareType.

           "Software": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/softwareType"
              },
              "minItems": 0,
              "Description": "Indicate the software used to create and/or manage the metadata. This is repeatable to allow for multiple softwares or multiple functions. If this information is important it is advisable to provide it in each maintainable so that it does not become separated from the internal content if the metadata is re-factored."
            },

Since softwareName is a NameType, there is no InternationalStringType String property that could be used for describing the actual sofware name.

    "softwareType": {
      "type": "object",
      "properties": {
        "softwareName": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/nameType"
          },
          "minItems": 0,
          "Description": "The name of the software package, including its producer."
        },

There seems to a general problem with inheritance in the generated jsonScheme.

Same problem for codeDomainType.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions