/// <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 childproperty can be set subPropertyOf the given motherproperty;<br/> /// Does not accept property chain definitions, for OWL2-DL decidability preservation. /// </summary> internal static bool CheckSubPropertyOfCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyObjectProperty childProperty, RDFOntologyObjectProperty motherProperty) => !propertyModel.CheckIsSubPropertyOf(motherProperty, childProperty) && !propertyModel.CheckIsEquivalentPropertyOf(motherProperty, childProperty) && !propertyModel.CheckIsPropertyDisjointWith(motherProperty, childProperty) && //OWL2-DL decidability !propertyModel.CheckIsPropertyChain(childProperty) && !propertyModel.CheckIsPropertyChain(motherProperty);
/// <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 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);