structured-data / linter

Structured Data linter
The Unlicense
85 stars 17 forks source link

schema:height #34

Closed jaygray0919 closed 8 years ago

jaygray0919 commented 8 years ago

Am getting the following error message:

property schema:height: Object "85"^^<http://www.w3.org/2001/XMLSchema#integer> not compatible with rangeIncludes (schema:Distance,schema:QuantitativeValue)

This occurs when I don't quote the height integer.

If I put the integer in quotes it passes linter but then Google SDTT does not properly parse the number as the value for height.

Is there a 'correct' technique that is valid on both SDL and GSDTT?

gkellogg commented 8 years ago

As it says, the defined range of schema:height is either Distance or QuatitativeValue. When used as a string, "85" is can be interpreted as one of those data types. When used as an integer,mother datatype is defined to be xsd:integer (equivalent to schema:Integer) by JSON-LD, which is neither of those, nor is it a super-class of either datatype. This is strict semantic analysis. The SDTT is more lenient in accepting these variations. Strictly speaking (which the linter always is) it is invalid, as it leads to contradiction based on the vocabulary definition.