Object property hasTopic has two ranges: "Topic" and "EditorialObject"
The two ranges should be combined with an or-statement:
EditorialObjecthasTopic(TopicorEditorialObject)
Yes, this is a bug, but there might be more than one. "hasTopic" is a sub-property of hasSubject, but they do not have the same range. We have other properties without range, and the proper class restriction implicitly defines the range.
So a solution can be to remove the hierarchy and the range statement.
Or should we use "min 0" here too?
What about EditorialObject concerning EditorialObject
or isAbout?
I think we should use a new property like "isAbout", and not include it in the above mentioned hierarchy of hasSubject.