dcmi / dctap

DC Tabular Application Profile

Home Page:https://dcmi.github.io/dctap/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Negative statement constraints

tombaker opened this issue · comments

The combination of "mandatory" and "repeatable" does not capture the notion of a statement template that MUST NOT match the data.

For example one might want to specify, in a shape, that there be no statements with predicate ex:star_rating.

This could be done by using min and max for the cardinality of the statement constraint, then setting both as "0".

This seems like an edge case possibly worthy of mention in the Cookbook.

I feel like this is getting into validation territory, and can imagine other patterns like "if THIS then not THAT". In the sense of defining your own AP I think it would be unusual to say what it is NOT, but NOT comes up in ingesting data from others or in validating existing metadata. To me this brings up a fundamental question about DCTAP and whether it is intended also as an ingest pattern definition. I think if we go there we get into the weeds, even though we can imagine situations where it might be used that way.