GAIA-X4PLC-AAD / ontology-management-base

Our implementation for an open automated ontology management process for GAIA-X interoperable ecosystems. Please use a community agreed domain specific class or if not yet available please create a new class and submit it for review.
Other
6 stars 3 forks source link

Option to include validation results in meta-data #124

Open heuerfin opened 2 days ago

heuerfin commented 2 days ago

Currently, it is not possible to include validation results into the description of an asset. In order to do so, we need a shape defining a standard way to describe this validation results. The include needs to be defined in two (or more ways) in order to allow private and public validation results, since the results can be part of a service which requires a payment.

jdsika commented 2 days ago

Hey Fin, Have a look at the attribute section here. This is how defined the asset token: https://github.com/ASCS-eV/smart-contracts/blob/main/contracts/marketplace/metadata/tzip21_token_metadata.json

Here is the specification: https://ascs-ev.github.io/EVES/drafts/EVES-003/eves-003.html

At first I would create a shape that defines the validation & verification results (however we call it) then I would see two viable options here:

A) Add validation result directly as additional attributes as these exist already when the token/asset is created B) Create a validation result token that has the same information in the attributes but references the asset it belongs to.

heuerfin commented 2 days ago

Hi, I'm not quiet sure how this relates or what I have to take into accout from the asset token. Yesterday, we discussed with @jtdemer something in the following direction: https://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/124-option-to-include-validation-results-in-meta-data/validation/validation_shacl.ttl and https://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/124-option-to-include-validation-results-in-meta-data/validation/validation_instance.json.

I've created those files as the starting point for the discussion. The basic idea is that you can either link a validation report and/or you can directly integrate results of some tests/checks into the metadata. Depending on the purpose (e.g. a self-provided schema check or an external service provider enriching an asset) attributes can be added.

Maybe this is not the best way, so let me know if I should change something. @jdsika @localhorst87 @jtdemer @PeLe987

localhorst87 commented 2 days ago

Hi all,

@heuerfin: Regarding our discussion yesterday, I reconsidered the concept to encapsulate v&v information. Imho there's no need to have private validation attributes, as we want to keep transparency in how a specific dataset has been verified and validated - that's also why we want to use datasets for the validation that are registered in the ecosystem.

How I understand what @jdsika has proposed, we would create a reference to a validation report (like in Carlos example the CID) that follows a specific schema/shape that we reference in another attribute, for instance

 ...
  {
    "name": "de.gaiax4plcaad.ontology-management-base.vvreport",
    "value": "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/main/vvreport/", // according to this shape our report is formulated...
    "type": "uri"
  },
  {
    "name": "de.gaiax4plcaad.ontology-management-base.vvreport",
    "value": "ipfs://QmU7TvL9afnY87ceyfX9vVPcKM4mNS1bpNN1CUQNjxZjvB", // ...and this is a reference/content identifier to the report
    "type": "application/json"
  },
...

and I would prefer solution B, because we don't necessarily need specific items of the validation report (like which quality metric has been used specifically) to be available for the metadata search.

heuerfin commented 2 days ago

Sounds nice. So we could delete from the suggestion of validation:ValidationResultShape. But the validation:ValidationShape (https://github.com/GAIA-X4PLC-AAD/ontology-management-base/blob/124-option-to-include-validation-results-in-meta-data/validation/validation_shacl.ttl#L7C1-L7C26) should fit, right?