2

Related questions Necessary and sufficient conditions for inferring a property, Representing if-then sentence using OW

Base on my understanding of owl:equivelantClass and rdfs:subClassOf we can represent Necessary Condition and Necessary and Sufficient Condition using subClassOf relation (one directional subClassOf or bi-direction subClassOf which is equivalentClass).

If we want to represent condition N is Necessary Condition of S (IF S THEN N), we can model this in following:

S rdf:type owl:Class;
  rdfs:subClassOf [
  rdf:type rdf:Restriction;
  owl:onProperty :N;
  owl:hasValue :D
  ].

or just say:

S rdfs:subClassOf N.

If we want to represent condition N is Necessary and Sufficient Condition of S (N IIF S), we can model this in following:

N rdf:type owl:Class;
  owl:equivalentClass [
  rdf:type rdf:Restriction;
  owl:onProperty :S;
  owl:hasValue :D
  ].

or just say:

N owl:equivalentClass S.

My question is can we represent sufficient condition using OWL? I'm thinking maybe I can represent the Sufficient Condition by reverse the order of Restriction Class and A.

Edit

According to the definition of Necessary and Sufficient condition, the assertion of N is Necessary for S is equivalent to S is Sufficient to N, we can understand this as N is super-set of S or S is subset of N.

Base on the accepted answer, we can model this relationship as S rdfs:subClassOf N or define a superClassOf property:

:superClassOf owl:inverseOf rdfs:subClassOf

and assert N :superClassOf S.

Conclusion

So the answer is yes, we can represent Sufficient condition by reverse the order (define a inverse property of rdfs:subClassOf) of Necessary condition.

Community
  • 1
  • 1
Charles Chow
  • 1,027
  • 12
  • 26

1 Answers1

3

Conditions, of course, refers to "conditions on an individual for class membership", and are expressed in terms of defining ever-smaller (more restricted) subclasses of the overall "class of all things".

In that context, a sufficient condition is simply the inverse of a necessary condition. So in effect, every time you specify a necessary condition, you also specify a sufficient condition.

Let's spell that out.

A necessary condition on a class X is the following: "IF the individual i is an instance of the class X, THEN the condition must be true". subClassOf(X, Y) means that IF an i is of class X, THEN it must also be of class Y, so in other words if we want to say that i is in X, it's necessary that it is also in Y. But it's not sufficient for i to be in Y to conclude that it is in X.

A necessary and sufficient condition on class X is a condition where in addition it also holds that "IF the condition is true, THEN the individual must be an instance of the class". In other words "if i is in class Y, this is sufficient evidence that it is also in X". This is the equivalence relation, which specifies that the sets of individuals of two classes are exactly the same (so if i is in Y, it must be also in X, vice versa).

A condition on X that is only sufficient, but not necessary, would mean that you have some relation R(X,Y) for which it holds that IF an indivual is in Y, it is also in X, but not necessarily that IF it is in X, THEN it is also in Y. This is the superclass relation, in other words the inverse of the subclass relation.

So when you say subClassOf(X, Y) you have not only defined a necessary condition for X, but effectively also a sufficient condition for Y. After all, if we know an individual i is an instance of X, then that is sufficient to conclude it's also an instance of Y. But it's not necessary for i to be an instance of X to also be an instance of Y: there can be instances of Y that are not in X.

In OWL there is no explicit separate owl:superClassOf relation. However if you really wanted to express it in those terms, you could conceivably introduce a superClass relation yourself, simply be defining it as the owl:inverseOf the subClassOf relation.

Jeen Broekstra
  • 21,642
  • 4
  • 51
  • 73