cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

How to represent inference rules (SWRL) in Cypher

I'm involved in a research project featuring Neo4j. I migrated a drug ontology to Neo4j and the thing is that I need to run the equivalent to the SWRL inference rules in the ontology. These rules are pretty much like the following:

activates(?a, ?b), is_activated_by(?b, ?c), DifferentFrom(?a, ?c) -> may_interact_with(?a, ?c)

The three atoms (activates, is_activated_by, may_interact_with) are relationships between nodes in my domain, whereas Different from could be easily handled in Cypher. I have two questions regarding these inference rules:

1 - Is Cypher powerful enough to allow the representation of an equivalent query? According to what I've read, it probably doesn't, but I've got no confirmation and the information I found might be outdated.
2 - If I couldn't use Cypher queries, what would the workarounds be? I've come across a software called GraphScale but, as of now, it is not publicly available. Therefore, should I use any alternatives such as connecting my graph to a Jess inference engine?

Thanks for your advice.

0 REPLIES 0