https://spdx.github.io/spdx-spec/v3.0.1/rdf/spdx-context.jsonld has many examples like this:
"ai_autonomyType": {
"@context": {
"@vocab": "https://spdx.org/rdf/3.0.1/terms/Core/PresenceType/"
},
"@id": "https://spdx.org/rdf/3.0.1/terms/AI/autonomyType",
"@type": "@vocab"
},
"ai_energyConsumption": {
"@id": "https://spdx.org/rdf/3.0.1/terms/AI/energyConsumption",
"@type": "@vocab"
},
- The first use (
@vocab:... @type:@vocab) is acceptable.
- The second use (
@type: @vocab) is not acceptable since it doesn't specify the @vocab.
- Nor can it specify any
@vocab because this is an intermediate node (holding quantity and unit) not an enumerated value
- What you mean here is
"@type": "@id"
https://spdx.github.io/spdx-spec/v3.0.1/rdf/spdx-context.jsonld has many examples like this:
@vocab:... @type:@vocab) is acceptable.ai_autonomyType: "foo"will be resolved to https://spdx.org/rdf/3.0.1/terms/Core/PresenceType/foo"(Note: I believe that a it should declare each enumerated prop as
"@type": "@id"and not"@type": "@vocab", see next)@type: @vocab) is not acceptable since it doesn't specify the@vocab.@vocabbecause this is an intermediate node (holding quantity and unit) not an enumerated value"@type": "@id"