Adding a F-Logic / Object Logic / RDF type entailment rule for ranges:

@{ rdfRangeTypeEntailmentQuery } ?-
?io : ?O .

@{ rdfRangeTypeEntailmentRule }
?io : ?O :-
?X [ ?P *=> ?O ] and ?O [] and ?Y [ ?ip -> ?io ] .

Loading the exported ontology into Ontoprise OntoStudio 3.1.1. shows one instance of "Food". After rule materialization the class "Food" cas two more instances.

ex#Groovy [ ex#eats -> ex#grass ] .

ex#Candy [ ex#eats -> ex#apple ] .

ex#apple : ex#Food .

ex#Candy [ ex#eats -> ex#carrot ] .

ex#Animal [ ex#eats *=> ex#Food ] .

ex#Food [] .

ex#Groovy : ex#Animal .

turtle: ex#Groovy rdf:type ex#Animal .

@{ rdfRangeTypeEntailmentQuery } ?-
?io : ?O .

@{ rdfRangeTypeEntailmentRule }
?io : ?O :-
?X [ ?P *=> ?O ] and ?O [] and ?Y [ ?ip -> ?io ] .