/// <summary> /// Checks if the given aProperty can be set equivalentPropertyOf the given bProperty;<br/> /// Does not accept property chain definitions, for OWL2-DL decidability preservation. /// </summary> internal static bool CheckEquivalentPropertyCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyObjectProperty aProperty, RDFOntologyObjectProperty bProperty) => !propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsPropertyDisjointWith(aProperty, bProperty) && //OWL2-DL decidability !propertyModel.CheckIsPropertyChain(aProperty) && !propertyModel.CheckIsPropertyChain(bProperty);
/// <summary> /// Checks if the given aproperty can be set equivalentpropertyof the given bproperty /// </summary> internal static Boolean CheckEquivalentPropertyCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyDatatypeProperty aProperty, RDFOntologyDatatypeProperty bProperty) { return(!propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty)); }
/// <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 aProperty can be set inverseOf the given bProperty /// </summary> internal static bool CheckInverseOfPropertyCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyObjectProperty aProperty, RDFOntologyObjectProperty bProperty) => !propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsEquivalentPropertyOf(aProperty, bProperty);