I want Protégé to infer that a certain class (or individual) is equivalent to another class if it has specific properties.
The following is a minimal snippet showing the issue. I expect the reasoner to figure out that VaccinesCauseAutism is a type of MedicalConspiracyTheory.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
:involves rdf:type rdf:ObjectProperty .
:Medicine rdf:type owl:Class .
:SecretPlan rdf:type owl:Class .
:MedicalConspiracyTheory a owl:Class ;
rdfs:label "Medical Conspiracy Theory" ;
owl:equivalentClass [
rdf:type owl:Restriction ;
owl:onProperty :involves ;
owl:someValuesFrom [
rdf:type owl:Class ;
owl:intersectionOf ( :SecretPlan :Medicine )
]
] .
:VaccinesCauseAutism a owl:Class;
rdfs:label "Vaccines Cause Autism" ;
:involves :SecretPlan, :Medicine .
What am I doing wrong here?