Why does the ShEx constant not match the same term in the data?

I have a ShEx schema expecting a specific type:

epri:VariableShape {
  a st:studyVariable ;
  st:subject [tax:~] ;
  st:signal xsd:decimal
}

which rejects data with this type

st:envFactorEMF a st:studyVariable ; # << this isn't recognized
  st:subject tax:1758 ;
  st:signal -.00043 .

( demo ) Why should it be?

+4
source share
2 answers

The error message from the demo you are linked to actually describes the exact problem.

http://www.epri.com/studies/3002011786studyVariable { "type": "NodeConstraint", " ":" http://www.epri.com/studies/3002011786studyVariable"}: mismatched datatype: http://www.epri.com/studies/3002011786studyVariable http://www.epri.com/studies/3002011786studyVariable

, .

a [ st:studyVariable ], :

epri:VariableShape {
  a [ st:studyVariable ];
  st:subject [tax:~] ;
  st:signal xsd:decimal
}
+5

- , , , , ascii.

ShEx IRI, []s. rdf:type st:studyVariable:

epri:VariableShape {
  a st:studyVariable ;   # <-- datatype
  st:subject [tax:~] ;   # <-- value set
  st:signal xsd:decimal  # <-- datatype
}

() st:studyVariable:

epri:VariableShape {
  a [st:studyVariable] ; # <-- value set
  st:subject [tax:~] ;   # <-- value set
  st:signal xsd:decimal  # <-- datatype
}

()

+4

Source: https://habr.com/ru/post/1687985/


All Articles