To be honest, i've worked with ARMOR, it has a lot of functionality to manipulating ontologies, but it still under developing, i found a lot of uncompleted functions related to SPARQL, so i moved to work with rdflib to make SPARQLs to the ontology
since that the owlready2 doesn't works with python 2.7, the version that ROS is already used.
I hope i can finish my task through these libraries.
Let me explain some staff, i thought that i can infer SWRL with rdflib, but i was wrong,
rdflib is just to querying and it doesn't has Reasoner to infer the ontology, so i was searching about that, then i found that it is possible to make SWRL rules using
Let me explain what you have to do to make things work,
First of all you should test the SWALLOW on protege first,
Then save the rule to your ontology
Load the ontology using owlready2 in python,
Notice that the SWRL works with PELLET reasoner,
But sync_reasoner() function runs the HermiT reasoner, so there won't be an inferred objects
Instead of that you should use sync_reasoner_pellet(), the functions added to the newer version of owlready2, you have to make sure you installed this version