ExarcaFidalgo / Shumlex

Integración ShEx - UML
MIT License
4 stars 0 forks source link

Detalles respecto a las formas anidadas #36

Closed ExarcaFidalgo closed 4 years ago

ExarcaFidalgo commented 4 years ago

El ejemplo de referencia es el siguiente:

prefix : https://schema.org/ prefix xsd: http://www.w3.org/2001/XMLSchema# base http://example.org/

:Car { :name xsd:string ; :belongs @_:1 }

_:1 { a [ :Garage ] }

:User { :name xsd:string ; :worksFor { a [ :Company]; } }

:GreatGrandson { :parent { :parent { :parent . + } + }+ ; }

Tal y como está realizada la transformación a XMI, se plantean dos cuestiones:

En resumen, recuperando de XMI a SHEX, todas las anidadas toman la siguiente configuración. Nótesen las formas vacías.

prefix : https://schema.org/ prefix xsd: http://www.w3.org/2001/XMLSchema# base http://example.org/

:Car { :name xsd:string; :belongs @_:1; }

_:1 { a [:Garage]; }

:Garage { }

:User { :name xsd:string; :worksFor @_:2; }

_:2 { a [:Company]; }

:Company { }

:GreatGrandson { :parent @_:3 +; }

:3 { :parent @:4 +; }

_:4 { :parent . +; }

Mucho menos elegante pero correcto. El tema es que no tengo forma de saber cómo se guardaban en el original, porque en UML se traduce todo a asociaciones. Lo que si es posible sería hacerlas todas anidadas. Consultar qué prefieren.

ExarcaFidalgo commented 4 years ago

Ahora si que hay modo de saber como eran en el original. Las referencias son meras asociaciones y las anidadas composiciones, señaladas ambas por el nombre de shape anónima. Lo arreglaré en el futuro inmediato.

ExarcaFidalgo commented 4 years ago

Todo listo, en principio.