/// <summary>
 /// Checks if the given childproperty can be set subPropertyOf the given motherproperty
 /// </summary>
 internal static bool CheckSubPropertyOfCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyDatatypeProperty childProperty, RDFOntologyDatatypeProperty motherProperty)
 => !propertyModel.CheckIsSubPropertyOf(motherProperty, childProperty) &&
 !propertyModel.CheckIsEquivalentPropertyOf(motherProperty, childProperty) &&
 !propertyModel.CheckIsPropertyDisjointWith(motherProperty, childProperty);
 /// <summary>
 /// Checks if the given aProperty can be set equivalentPropertyOf the given bProperty
 /// </summary>
 internal static bool CheckEquivalentPropertyCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyDatatypeProperty aProperty, RDFOntologyDatatypeProperty bProperty)
 => !propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) &&
 !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty) &&
 !propertyModel.CheckIsPropertyDisjointWith(aProperty, bProperty);
 /// <summary>
 /// Checks if the given "aFact -> datatypeProperty -> ontologyLiteral" can be a negative assertion
 /// </summary>
 internal static bool CheckNegativeAssertionCompatibility(RDFOntologyData ontologyData, RDFOntologyFact aFact, RDFOntologyDatatypeProperty datatypeProperty, RDFOntologyLiteral ontologyLiteral)
 => !ontologyData.CheckIsAssertion(aFact, datatypeProperty, ontologyLiteral);