/// <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 childproperty can be set subpropertyof the given motherproperty /// </summary> internal static Boolean CheckSubPropertyOfCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyDatatypeProperty childProperty, RDFOntologyDatatypeProperty motherProperty) { return(!propertyModel.CheckIsSubPropertyOf(motherProperty, childProperty) && !propertyModel.CheckIsEquivalentPropertyOf(motherProperty, childProperty)); }
/// <summary> /// Checks if the given aproperty can be set inverseof the given bproperty /// </summary> internal static Boolean CheckInverseOfPropertyCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyObjectProperty aProperty, RDFOntologyObjectProperty bProperty) { return(!propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsEquivalentPropertyOf(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);
/// <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);
/// <summary> /// Checks if the given aProperty can be set propertyDisjointWith the given bProperty [OWL2] /// </summary> internal static bool CheckPropertyDisjointWithCompatibility(RDFOntologyPropertyModel propertyModel, RDFOntologyDatatypeProperty aProperty, RDFOntologyDatatypeProperty bProperty) => !propertyModel.CheckIsSubPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsSuperPropertyOf(aProperty, bProperty) && !propertyModel.CheckIsEquivalentPropertyOf(aProperty, bProperty);