Skip to content

Commit

Permalink
[assist-dv] handle union targets for check of values.
Browse files Browse the repository at this point in the history
  • Loading branch information
kquick committed Aug 24, 2023
1 parent 660b0c5 commit 811beb9
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions assist/bin/rack/check.pl
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,15 @@
print_message(error,
property_value_wrong_type_in(T, I, IName, Property, DefTy, Val, CList))
)
; % Cls might be a union of multiple possible classes
rdf_is_bnode(Cls), rdf(Cls, owl:unionOf, ClsLst), !,
rdf_list(ClsLst, CList),
( member(CL, CList),
rdf_reachable(DefTy, rdfs:subClassOf, CL), ! % matches, stop processing
; print_message(informational, trinary_op(check_values_from, Property, I, T)),
print_message(error,
property_value_wrong_type_in(T, I, IName, Property, DefTy, Val, CList))
)
; \+ rdf_reachable(DefTy, rdfs:subClassOf, Cls),
print_message(informational, trinary_op(check_values_from, Property, I, T)),
print_message(error, property_value_wrong_type(T, I, IName, Property, DefTy, Val, Cls))
Expand Down

0 comments on commit 811beb9

Please sign in to comment.