Q:

Modelling Rules on Graph in Titan DB

Vertices and edges are one aspect in graph modelling. There are others like rules. for e.g. if someone is buying apples but also bought apples in previous 1 week but not bought in competitive stores and is a customer for more than 1 year offer a 10% promotion discount. 
Is there any way one can model a rule that can become true to be applied when a set of conditions become true based on vertices, edges and their properties values?
Or another example in shipment industry. 
Rule of providing a cost for a shipment from two adjacent nodes identified by the following conditions.
1. if the origin of shipment is USA ( any site from USA) : path start
2. if the destination of shipment is Singapore : path end
3. and the current move starting point belongs to a site in India ( edge start )
4. and service type is water ( edge type )
5. cost is $100 usd.
This rule will be able to apply costs of $100 when all the 4 conditions are met. Any suggestion on how to model this rule in Titan DB?

A:

Titan doesn't have a way to define rules in the way you are describing them.  Titan expects you to handle that kind of logic in your application.  More specifically, implement both of those rule examples as Gremlin traversals and expose those traversals as functions in your application.  This article might help provide some inspiration:
http://thinkaurelius.com/2013/07/25/developing-a-domain-specific-language-in-gremlin/

