admin-shell-io / aas-specs

Repository of the Asset Administration Shell Specification IDTA-01001 - Metamodel
https://industrialdigitaltwin.org/en/content-hub/aasspecifications
Creative Commons Attribution 4.0 International
45 stars 26 forks source link

Produce a holistic JSON example #405

Open mristin opened 2 months ago

mristin commented 2 months ago

The issue has been moved from https://github.com/aas-core-works/aas-core-codegen/issues/461.

We copy in the following the original description by @VladimirAlexiev for the context.

(cc @mristin)

In https://github.com/VladimirAlexiev/aas-core-codegen/tree/main/test_data/jsonld_context/trials#next-steps and https://github.com/admin-shell-io/aas-specs/issues/386#issuecomment-2007619361 I asked for some more holistic examples, so I can experiment with langString, datatyped literals, and maybe framing.

@ethieblin referred to JSON examples. But if we take one of those eg https://github.com/admin-shell-io/aas-specs/blob/master/schemas/json/examples/generated/LangStringPreferredNameTypeIec61360/maximal.json, it doesn't look like complete AAS data, so I'm not sure whether I can expect to get "complete" turtle out of it.

I think that having a bigger realistic example will be very useful for implementers and users alike.

Eg see the hundreds of examples in these folders (Turtle and Diagrams are automatically generated from JSON):

mristin commented 2 months ago

Here are the latest findings by @VladimirAlexiev from https://github.com/aas-core-works/aas-core-codegen/issues/461.

https://v3.admin-shell-io.com/submodels/

Here are indexes of useful examples (can be extracted with jq)

These are empty

Some more googling turns up Submodel definitions and examples, but these are in XML not JSON:

There are 229 models.

curl https://v3.admin-shell-io.com/submodels/ > submodels-v3.json
jq ".result[].idShort" submodels-v3.json | wc -l
229

Here is a count by type:

jq ".result[].idShort" submodels-v3.json | sort | uniq -c
      2 "ArticleInformation"
      1 "AssetIdentification"
      4 "BillOfMaterial"
      1 "CarbonFootprint"
      1 "CertificatesAndDeclarations"
      8 "ContactInformation"
      2 "ContactInformations"
      1 "cynapseTeachInService"
      6 "DeviceDescriptionFiles"
      1 "DeviceInfo"
     19 "Document"
     11 "Documentation"
      6 "Electrical_and_Fluid_CAD"
      1 "Electrical_and_FluidCAD"
      1 "FluidCAD"
      8 "HandoverDocumentation"
     33 "Identification"
      1 "ingredients"
      2 "ManufacturerDocumentation"
     16 "MCAD"
     44 "Nameplate"
      1 "nutrition_facts"
      1 "OperationalData"
      1 "PLC_Programming"
      1 "SecurityMetaModelForServer"
      1 "SecuritySettingsForServer"
     27 "Service"
      3 "ServiceNotifications"
     22 "TechnicalData"
      3 "TechnicalSpecification"

To extract the first few useful submodels:

jq ".result[2]"  submodels-v3.json > Nameplate-Weiss.json
jq ".result[3]"  submodels-v3.json > ContactInformation.json
jq ".result[4]"  submodels-v3.json > HandoverDocumentation.json
jq ".result[5]"  submodels-v3.json > TechnicalData.json
jq ".result[9]"  submodels-v3.json > ArticleInformation.json
jq ".result[11]" submodels-v3.json > ServiceNotifications.json
jq ".result[12]" submodels-v3.json > Nameplate-Festo.json
# jq ".result[170]" submodels-v3.json > CarbonFootprint.json # empty
mristin commented 2 months ago

@VladimirAlexiev while you are at it, would you mind verifying the AAS with https://github.com/aas-core-works/aas-core3.0-cli-swiss-knife?

You only have to convert each Submodel to an Environment. You can simply embed it in an Environment by this template:

{
"submodels": [
"some-submodel": <your submodel comes here>
]
}

Then you can call:

aas-core3.0-sk-verify.exe --environment <path to the environment file>
BirgitBoss commented 2 months ago

As @mristin correct stated the existing examples are reflecting older versions only. Sorry for this. But there is good news: Today it was announced in the IDTA newletter that all published Submodel Templates are now compatible with AAS V3.0.

https://github.com/admin-shell-io/submodel-templates/tree/main/published

Other examples AASX files will be added.

@juileetikekar

@ethieblin I am not sure I understand the issue: do you "just" want examples or do you want a single (or two) example file(s) as part of the specification similar to the generated one but "more holistic". If it is the first, the issue is not really part of this repository as well.

VladimirAlexiev commented 2 months ago