แบบสอบถาม Cypher สำหรับคุณสมบัติ Char Node

ฉันประกาศใช้ SDN (spring data neo4j) เป็นคุณสมบัติถ่านใน java

@NodeEntity
public class Psite {

    @GraphId
    Long id;

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

อย่างไรก็ตาม ฉันไม่สามารถดำเนินการค้นหาใดๆ เกี่ยวกับคุณสมบัตินี้บนเบราว์เซอร์ของเซิร์ฟเวอร์ neo4j ได้

ทั้งสามกรณีด้านล่างให้ผลลัพธ์ 0 รายการกับฉัน

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

ใครสามารถช่วยฉันหน่อยได้ไหม


person pv1    schedule 28.08.2015    source แหล่งที่มา
comment
จะถูกส่งกลับอย่างไรถ้าคุณทำ match (p:Psite {identifier:"foo"}) return p.amino ?   -  person Michael Hunger    schedule 28.08.2015
comment
คุณลองเปรียบเทียบกับรหัส ASCII ได้ไหม WHERE n.amino = 84 แค่อยากรู้   -  person Michael Hunger    schedule 28.08.2015
comment
เอกสาร บอกว่าอักขระถูกจัดเก็บเป็น int ที่ไม่ได้ลงนาม 16 บิต (char | 16-bit unsigned integers representing Unicode characters | u0000 to uffff (0 to 65535) ) ซึ่งเป็นอักขระ Java ฉันไม่เคยเก็บถ่านจาก SDN แต่อย่างที่ Michael บอกว่าฉันจะลองเปรียบเทียบมันเป็น int เช่น 84 มันได้ผลไหม   -  person jjaderberg    schedule 28.08.2015
comment
ใช่คำตอบกำลังเปรียบเทียบสิ่งนี้กับรหัส ASCII โดยที่ n.amino = 84 ใช้งานได้ดี!!! ขอบคุณ Michael สำหรับการตอบกลับทันทีของคุณ   -  person pv1    schedule 29.08.2015


คำตอบ (1)


ตามความคิดเห็นข้างต้น ทางออกที่ดีที่สุดคือ:

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

แทน

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

นั่นคือแทนที่ "T" ด้วยค่า int ASCII

person pv1    schedule 01.09.2015