2016-04-15 2 views
1

Je vais avoir des sommets d'utilisateurs qui ont des bords de notification entrants comme suit:Comment faire pour obtenir des notifications qui ont la propriété de date de bord supérieure à la dernière date visitée dans Titan en utilisant Gremlin?

Code

am utilise pour obtenir des notifications

g.v(17929472).outE('Notification') 

réponse Je reçois:

{ 
    "success": true, 
    "results": [ 
    { 
     "Type": "UserReaction", 
     "PostedDate": "2016-04-15T09:03:42.8391677Z", 
     "NotificationInitiatedByVertexId": "2304", 
     "_id": "c7bb4-aoagw-sgl-aoao0", 
     "_type": "edge", 
     "_outV": 17929472, 
     "_inV": 17929728, 
     "_label": "Notification" 
    } 
    ], 
    "version": "2.5.0", 
    "queryTime": 15.310751 
} 

Chaque fois que l'utilisateur le notification J'économise la dernière date de consultation et je souhaite utiliser cette date pour obtenir toutes les notifications présentes après cette date.

J'ai essayé:

g.v((5124096).outE).outE.has('PostedDate',T.gte, 2016-04-15T07:52:31.6979843Z).inV 

mais il donne l'erreur.

+1

Votre code indique que vous utilisez TinkerPop 2.x. Je suggère fortement de passer à TinkerPop 3+, qui est une réécriture complète avec une API beaucoup plus puissante. – jbmusso

Répondre

3

PostedDate semble être renvoyé sous forme de chaîne. Envisagez de définir PostedDate dans votre définition de schéma en tant que Long à la place, puis effectuez la comparaison T.gte avec une valeur Long.

+0

Dois-je supprimer les données de test précédentes ou cela fonctionnera-t-il si j'ajoute simplement une autre propriété en tant que DateDateLong avec les propriétés existantes? –

+1

juste aller de l'avant et essayer –

+0

J'ai ajouté un bord avec les propriétés suivantes Type: WallPostNotification PostedDate: 2016-04-15T15: 01: 21.1012501Z PostedDateLong: 635963292811012501 NotificationInitiatedByVertexId: 17928960 _id: c7lmo-1S0-SGL -aoetc gEhas ('PostedDateLong', T.gte, 0) –