【问题标题】:Why the filter function is not working with Titan 1.0.0为什么过滤器功能不适用于 Titan 1.0.0
【发布时间】:2016-12-02 05:54:25
【问题描述】:

我正在使用 Titan(titan-1.0.0-hadoop1)。假设节点有一个属性unique1。我希望具有此属性的节点不等于特定值。

我的查询是:

g.V().filter(!it.unique1 = x) 

我总是得到错误:

no such property, "unique1"

提前致谢。

【问题讨论】:

    标签: titan gremlin


    【解决方案1】:

    您应该更好地研究TinkerPop docs,因为这确实是一个非常基本的查询。

    g.V().has("unique1", neq(x))
    

    【讨论】:

    • 你好,我问这个问题是因为我想知道为什么“it”后面不能跟节点的一个属性。根据该文件,这应该是允许的。不是查询本身。谢谢你的回答。
    • "it" 用于 lambda。你在找这个吗:g.V().filter {it.get().value("unique1") != x}?
    【解决方案2】:

    试试这个。示例图:

    gremlin> graph = TinkerGraph.open();
    ==>tinkergraph[vertices:0 edges:0]
    gremlin> v1 = graph.addVertex();
    ==>v[0]
    gremlin> v2 = graph.addVertex();
    ==>v[1]
    gremlin> v1.property("unique1", 1);
    ==>vp[unique1->1]
    gremlin> v2.property("unique1", 2);
    ==>vp[unique1->2]
    

    然后像这样过滤你的遍历:

    // g = graph.traversal()
    gremlin> graph.traversal().V().filter(values("unique1").is(1));
    ==>v[0]
    gremlin> graph.traversal().V().filter(values("unique1").is(2));
    ==>v[1]
    gremlin> graph.traversal().V().filter(values("unique1").is(3));
    gremlin>
    

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多