ExarcaFidalgo / Shumlex

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

Operador OneOf #25

Closed ExarcaFidalgo closed 4 years ago

ExarcaFidalgo commented 4 years ago

Declara que los nodos tienen una de sendas propiedades, nunca ambas o ninguna.

:User { schema:name xsd:string | foaf:name xsd:string }

ExarcaFidalgo commented 4 years ago

Se puede complicar, haciendo que uno de los operandos sea un conjunto de propiedades:

:User { schema:name xsd:string | ( schema:givenName xsd:string + ; schema:familyName xsd:string ) }

ExarcaFidalgo commented 4 years ago

Por último, se pueden indicar cardinalidades para el operador.

:Product { schema:productId xsd:string ; ( schema:isRelatedTo @:Product | schema:isSimilarTo @:Product ){0,2} }

ExarcaFidalgo commented 4 years ago

Ya tengo Shex > XMI para el siguiente fragmento:

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

:User { :name xsd:string | ( :givenName xsd:string + ; :familyName xsd:string ) }

:Car { :model xsd:string; (:turbo xsd:string | :atm xsd:string;){1,2} }

Queda lo contrario.