小编tcf*_*man的帖子

使用 Cypher,如何返回仅包含其属性子集的节点

假设我在 Neo4j 中创建了一个节点:

CREATE (:Thing {a:'foo', b:'bar'})
Run Code Online (Sandbox Code Playgroud)

我可以编写一个查询来获取该节点及其所有属性

MATCH (n:Thing {a:'foo'}) RETURN n
Run Code Online (Sandbox Code Playgroud)

返回

{
  "a": "foo",
  "b": "bar"
}
Run Code Online (Sandbox Code Playgroud)

但是是否有可能匹配一个节点并仅检索其属性的子集,例如,Neo4j 将返回一个仅具有

{
  "b": "bar"
}
Run Code Online (Sandbox Code Playgroud)

(不只是寻找财产,就像您通过 获得的那样RETURN n.b

neo4j graph-databases cypher

3
推荐指数
1
解决办法
1579
查看次数

为什么番石榴布隆过滤器的性能这么差?

我正在尝试确定Google Guava 的布隆过滤器是否适用于我的项目,但是在我的测试中,我得到了极高的误报率(可能是由于高水平的哈希冲突?)。

我正在使用 2 个数据文件运行实验。第一个包含 2200 万个唯一数字(整数),我将其放入布隆过滤器中。第二个包含另一组完全不同的数字,也是唯一的,我用它来测试布隆过滤器的误报。

这是其中一些数字的示例:

1010061
904436
859990
854448
839175
754186
904491
233955
904491
876342
919575
603051
1012863
989713
323424
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

private static void experiment() {

    // Load 22m unique IDs from file
    ArrayList<String> skus = loadSkus("sku_1.txt");
    int numInsertions = skus.size();

    // Google Guava Bloom Filter
    Funnel<String> strFunnel = (Funnel<String>) (from, into) -> into.putString(from, Charset.forName("US-ASCII"));
    BloomFilter<String> bf = BloomFilter.create(strFunnel, numInsertions, 0.001);

    for (String sku : skus) {
        bf.put(sku);
    }

    int falsePositiveCount = 0;
    double …
Run Code Online (Sandbox Code Playgroud)

java hash bloom-filter guava

2
推荐指数
1
解决办法
1700
查看次数

标签 统计

bloom-filter ×1

cypher ×1

graph-databases ×1

guava ×1

hash ×1

java ×1

neo4j ×1