Hi guys I have a question regarding reasoning.
If I have a instance say called inst:beam1 and I say that the class ccs:Beam is equivalent to ifcowl:Beam:
inst:beam1 rdf:type ifcowl:Beam
ccs:Beam owl:equivalentClass ifcowl:Beam.
Then it should reason that:
inst:beam1 rdf:type ccs:Beam.
Now what if I have another class called ccs:FoundationBeam and I know for a fact that any instance cannot be both ccs:Beam and ccs:FoundationBeam.
I have a rule that determines when an instance is a ccs:FoundationBeam :
IF {
SOMETHING SOMETHING }
THEN {
?instances a ccs:FoundationBeam }
Now say I through my first definitions find that inst:beam1 is rdf:type ccs:Beam, but through my rule determines that it is rdf:type ccs:FoundationBeam, but in reality it cannot be both. I want it to weight the ruleset more i.e. that it should say that if it has reasoned that both facts are true then only the fact from the ruleset is kept or holds true. I hope you understand my question. Is there any way to do this?