Closed Fak3 closed 3 months ago
@Fak3 please put the json snippets in code blocks for readability and to avoid pinging github users behind the json-ld terms
I have addressed the issues above that were Jargon-related. DigitalProductPassport-context.json
@onthebreeze Make your model-related changes, and then I think the remainder of issues should all go away
Hi @colugo ! I checked your attachment against the original link, and you've made some mistakes:
"untp-dpp": "https://test.uncefact.org/vocabulary/untp/core/"
but that should end in /dpp/
schema
prefix, but that's used eg in "productName": "schema:name"
registrationCountry
to use "@vocab": "https://schema.org/countryCode#"
but such URL doesn't exist and even if it did, it's not a list of country codesMore mistakes in addition to what @Fak3 listed:
"@type": "untp-core:Classification"
is wrong"@type": "untp-core:Identifier"
is wrongParty
and ProductPassport
shouldn't repeat props of Identifier
(idScheme, idSchemeName, idValue), they should just have mainIdentifier
pointing to Identifier
@VladimirAlexiev
"@type": "untp-core:Classification"
is wrong"@type": "untp-core:Identifier"
is wrong
What's wrong with them?
@Fak3 @onthebreeze
"@type": "untp-core:Classification"
is wrong
JSON-LD is not a schema language, and you cannot specify an ObjectProperty range in the context.
rdf:type
to nodes: explicitlyIn order words, you can say
"credentialSubject": {
"@id": "untp-dpp:credentialSubject",
"@type": "@id"
}
But you cannot say
"credentialSubject": {
"@id": "untp-dpp:credentialSubject",
"@type": "untp-dpp:ProductPassport"
}
You express that kind of expectation (prop ranges) in the ontology.
WHY? because the context allows you to have "pure" payload:
@type: "xsd:integer", @value: "123"
@type: "@id", @value: "http://example.org/certificate/123"
But it doesn't allow you to check what rdf:type
is attached to http://example.org/certificate/123
@Fak3 @onthebreeze
"@type": "untp-core:Classification"
is wrongJSON-LD is not a schema language,
I mean: where did you see "@type": "untp-core:Classification"
in the context file?
@Fak3 It's already fixed! And there are other differences, eg in my copy (of 11 Jul):
"Standard": {
"@context": {
"issuingBody": {
"@id": "untp-dpp:issuingBody",
"@type": "untp-core:Party"
},
but in the current version:
Standard: {
"@context": {
issuingParty: {
@id: "untp-dpp:issuingParty",
@type: "@id"
ok I think almost all of these are fixed - https://jargon.sh/user/unece/untp-core/v/working/artefacts/jsonldContexts/untp-core.jsonld?class=untp-core
Still working to fix the codelist @vocab references so that we do not imply that we are going to redefine a list of mimetypes (for example) but instead point to the authoritative URL
Issues and notes on https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonldContexts/DigitalProductPassport.jsonld?class=DigitalProductPassport
18 hours ago
As we discussed above, partyName should be removed. Use name instead which is already defined in VC context (edited)
17 hours ago
The url this vocab points to returns http error.
17 hours ago
Does untp project really needs to maintain list of mimetypes in it's vocabulary? I don't see any reason to. Probably better to leave mimetype property as plain string
17 hours ago
@type
must be@id
, this is how context say that property refers to another object. Property range defined in the vocabulary file, not context.17 hours ago
@id
must be untp-core:volume17 hours ago
Remove @type. It is only used on properties, not classes
17 hours ago
"benchmarkValue": "untp-core:Metric"
Should be"benchmarkValue": "untp-core:benchmarkValue"
13 hours ago
The entry:
Needs to be removed here, this is an invalid scoped context.I would personally remove all of the "DigitalProductPassport" properties here since they are just what the "VerifiableCredential" already defines, but it doesn't break anything having them there.Same for the DCC