wrong domains for links
After implementing domain and range checks for links, I noticed:
1) Linking E33 (Linguistic Object) with P70 (documents) to E21 (Person) raises an error because E33 is not a valid domain for P70.
Solution: changing P70 to P67
2) With dates we tried to link E61 (Time Primitive) with P2 (has type) to E55 (Type - Date Value Type), in this case E61 is also an invalid domain for P2
Solution: we allow linking from E59 (Primitive Value) with P2 to E55
3) E52 (Time-Span) - P127 (has broader term) - E52 (Time-Span): wrong domain E52 for P127, and I guess also wrong range
Solution: changing P127 to P86
#3 Updated by Stefan Eichert about 4 years ago
Great job with the range checks. It shows us errors we would not have found.
ad 1) thats true - p70 works only from E31. Solution: We exchange every P70 link for a P67 - "refers to/is referred to by" which is a super-property of P70 and has a domain of E89 and E1 as range
ad 2) This cannot be true. P1 has a domain of E1 which means you can link literally everything (including time-primitives) with a E55 Type. The error must be in the system and is surely not in our model.
ad 3) To mark a timespan that falls within another timespan we use (and already used) P86 (falls within/contains) and not P127 (which is only used to define sub/supertypes E55)
I hope this helps.
#4 Updated by Alexander Watzinger about 4 years ago
Solution for 1 and 3 already implemented and testet (local). Works great,
E61 (Time Primitive) with P2 (has type) with E55 (Type - Date Value Type)
In this case the CIDOC CRM is correctly imported. According to the CIDOC CRM documentation (attachment included):
- E1 and E59 are not connected, both have no "sublcass of"
- the hierarchy (page 12/13) shows that E1 and E59 are on the same level and not including each other
- at page 28 is a valid link example e.g. E61 is linked with P81 to E52
Anyway, it seems to be invalid in the CIDOC CRM and I'm just reporting what the automated test finds. If it's getting too messy we always have the option to disable checks and mention it somewhere (like our shortcuts).
#5 Updated by Stefan Eichert about 4 years ago
Good you checked it. I did not know that E59 is not included into the E1 subclasses (Though I was very sure about it ;-). But it is absolutely true, as the CRM Documentation says. I would suggest a workaround and as you said, we could modify the checks and allow E55 + E59 in our system and mention it somewhere.