Kueri Cypher untuk Properti Char Node

Saya menyatakan menggunakan SDN (spring data neo4j) properti char di java

@NodeEntity
public class Psite {

    @GraphId
    Long id;

    @Indexed(unique = true)
     public String identifier;
     public char amino;

Namun saya tidak dapat melakukan pertanyaan apa pun mengenai properti ini di browser server neo4j.

Ketiga kasus di bawah ini memberi saya 0 hasil.

MATCH (n:`Psite`) WHERE n.amino = "T" RETURN n LIMIT 25

MATCH (n:`Psite` {amino : 'T'}) RETURN n LIMIT 25

MATCH (n:`Psite` {amino : "T"}) RETURN n LIMIT 25

Bisakah seseorang membantu saya


person pv1    schedule 28.08.2015    source sumber
comment
bagaimana cara mengembalikannya jika Anda melakukannya match (p:Psite {identifier:"foo"}) return p.amino ?   -  person Michael Hunger    schedule 28.08.2015
comment
Bisakah Anda mencoba membandingkannya dengan kode ascii? WHERE n.amino = 84 hanya penasaran   -  person Michael Hunger    schedule 28.08.2015
comment
dokumen mengatakan bahwa char disimpan sebagai int 16 bit yang tidak ditandatangani (char | 16-bit unsigned integers representing Unicode characters | u0000 to uffff (0 to 65535) ), yang merupakan karakter Java. Saya belum pernah menyimpan karakter dari SDN, tetapi seperti kata Michael, saya akan mencoba membandingkannya sebagai int, yaitu 84. Apakah itu berhasil?   -  person jjaderberg    schedule 28.08.2015
comment
Ya jawabannya adalah membandingkan ini dengan kode ascii WHERE n.amino = 84 berfungsi dengan baik!!! Terima kasih Michael atas balasan langsung Anda.   -  person pv1    schedule 29.08.2015


Jawaban (1)


Sesuai komentar di atas, solusi terbaik sejauh ini adalah:

MATCH (n:`Psite`) WHERE n.amino = 84 RETURN n LIMIT 25

alih-alih

MATCH (n:`Psite`) WHERE n.amino = "T" RETURN n LIMIT 25

yaitu ganti "T" dengan nilai int ASCII-nya.

person pv1    schedule 01.09.2015