If an object has a wasGeneratedBy, then it should not refer to an Activity that has this same object as Usages. Similarly, if one of the objects referred has a wasGeneratedBy that refers to an Activity, its Usages should also not include the first object.
In other words, there should be no cycles in wasGeneratedBy -> Usage -> wasGeneratedBy -> Usage ... chains.
If an object has a wasGeneratedBy, then it should not refer to an Activity that has this same object as Usages. Similarly, if one of the objects referred has a wasGeneratedBy that refers to an Activity, its Usages should also not include the first object.
In other words, there should be no cycles in wasGeneratedBy -> Usage -> wasGeneratedBy -> Usage ... chains.