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

Change V3.1 #358

Closed BirgitBoss closed 4 months ago

BirgitBoss commented 4 months ago

This issue closes https://github.com/admin-shell-io/aas-specs/issues/299 shall be anyUri instead of string + length restriction and note

add anyUri to basic data types section change PathType definition update ChangeLog

closes #361

mhrimaz commented 4 months ago

@BirgitBoss Sorry that I jump in, but would that be possible to also change the datatype of other values that are now 'xs:string' to their actual XSD data type? I have elaborated the issue here: https://github.com/admin-shell-io/aas-specs/issues/284 The problem right now is that if we have a Property with a xs:double valueType, in RDF we use string.

So currently we have:

<something_48c66017> rdf:type aas:Submodel ;
    <https://admin-shell.io/aas/3/0/Identifiable/id> "something_48c66017"^^xs:string ;
    <https://admin-shell.io/aas/3/0/Submodel/submodelElements> [
        rdf:type aas:Property ;
        <https://admin-shell.io/aas/3/0/Referable/idShort> "something3fdd3eb4"^^xs:string ;
        <https://admin-shell.io/aas/3/0/Property/valueType> <https://admin-shell.io/aas/3/0/DataTypeDefXsd/Double> ;
###
        <https://admin-shell.io/aas/3/0/Property/value> "1234.01234"^^xs:string ;
    ] ;
.

but it should be:

<something_48c66017> rdf:type aas:Submodel ;
    <https://admin-shell.io/aas/3/0/Identifiable/id> "something_48c66017"^^xs:string ;
    <https://admin-shell.io/aas/3/0/Submodel/submodelElements> [
        rdf:type aas:Property ;
        <https://admin-shell.io/aas/3/0/Referable/idShort> "something3fdd3eb4"^^xs:string ;
        <https://admin-shell.io/aas/3/0/Property/valueType> <https://admin-shell.io/aas/3/0/DataTypeDefXsd/Double> ;
###
        <https://admin-shell.io/aas/3/0/Property/value> "1234.01234"^^xs:double;
    ] ;
.

It might be a breaking change, but it doesn't cause any issues for roundtrips, since the metamodel anyways use XSD datatypes. This would allow to write SPARQL query easier (numeric aggeragation, comparison, ...)

BirgitBoss commented 4 months ago

@BirgitBoss Sorry that I jump in, but would that be possible to also change the datatype of other values that are now 'xs:string' to their actual XSD data type? I have elaborated the issue here: #284

Thank you for pointing to this issue. They are both about data types but your problem is more tricky because the type of the property is not always the same but depends on its semantic definition and implementation. For the SME "File" the type is static. So I prefer to discuss the typing issue of Properties (and similar SME) in #284 and to discuss only data type "PathType" in this issue.

Thank you for your understanding.

BirgitBoss commented 4 months ago

@alexgordtop can you now approve of the PR after the changes made?

g1zzm0 commented 4 months ago

PathType should not change its type!

Rather, it should migrate the constraints from RFC8089 to RFC3987. This could be achieved by changing from matchesRFC8089 to matchesXsAnyUri. This is necessary to avoid having to create an entire new RegEx from @s-heppner or @mristin because of time constraints. The task force wanted the change from RFC8089 to RFC3987, but nobody wanted to make the change.

According to version 3.0, PathType is an Identifier that is also subject to the matchesRFC8089 constraint. The PathType cannot simply be changed to anyUri because anyUri is not a primitive type. This is breaking to version 3.0 and cannot be implemented in aas-core. No approval from me.

BirgitBoss commented 4 months ago

see revised decision in https://github.com/admin-shell-io/aas-specs/issues/299

g1zzm0 commented 4 months ago

Allways a good idea to mege unaproved PRs. Please check twice if all XSD Spec Version 1.0 URLs point to https://www.w3.org/TR/xmlschema-2/ and not to https://www.w3.org/TR/xmlschema2/ and for the wrong URLs that point to the wrong XSD Version 1.1 with path https://www.w3.org/TR/xmlschema11-2/

(Edit by @s-heppner): Fix typo in comment