Chú ý chuỗi đặc biệt trong Cypher

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Cơ sở dữ liệu đồ thị Neo4j (Trang 59)

Một số ký tự đặc biệt như sau: Chuỗi ký tự đặc biệt Ký tự \t Tab \b Backspace \n Xuống dòng \r Trở về dòng đầu \f Form feed \’ Nháy đơn \” Nháy kép \\ Xẹc ngược 5.3. Tham số

Cypher hỗ trợ câu truy vấn với tham số, điều này cho phép lập trình viên không phải truyền trực tiếp vào câu truy vấn một chuỗi.

Tham số cũng được sử dụng cho các kiểu dữ liệu và Expression trong câu lệnh WHERE, đối với key chỉ mục và giá trị của chỉ mục trong câu lệnh START, câu truy vấn chỉ mục, và cuối cùng cho những ids của nút/mối quan hệ. Tham số không được sử dụng cho tên thuộc tính. Sau đây là một số ví dụ về truyền tham số trong ngôn ngữ Java đối với Cypher.

Tham số cho nút id:

Map<String, Object> params = new HashMap<String, Object>(); params.put( "id", 0 );

ExecutionResult result = engine.execute( "start n=node({id}) return n.name", params ); Tham số cho đối tượng nút

Map<String, Object> params = new HashMap<String, Object>(); params.put( "node", andreasNode );

ExecutionResult result = engine.execute( "start n=node({node}) return n.name", params );

Map<String, Object> params = new HashMap<String, Object>(); params.put( "id", Arrays.asList( 0, 1, 2 ) );

ExecutionResult result = engine.execute( "start n=node({id}) return n.name", params ); Tham số đối với chuỗi

Map<String, Object> params = new HashMap<String, Object>(); params.put( "name", "Johan" );

ExecutionResult result =

engine.execute( "start n=node(0,1,2) where n.name = {name} return n", params ); Tham số đối với khóa chỉ mục và giá trị chỉ mục

Map<String, Object> params = new HashMap<String, Object>(); params.put( "key", "name" );

params.put( "value", "Michaela" ); ExecutionResult result =

engine.execute( "start n=node:people({key} = {value}) return n", params ); Tham số cho truy vấn chỉ mục:

Map<String, Object> params = new HashMap<String, Object>(); params.put( "query", "name:Andreas" );

ExecutionResult result = engine.execute( "start n=node:people({query}) return n", params );

Tham số cho SKIP và LIMMIT

Map<String, Object> params = new HashMap<String, Object>(); params.put( "s", 1 );

params.put( "l", 1 ); ExecutionResult result =

Tham số cho regular expression.

Map<String, Object> params = new HashMap<String, Object>(); params.put( "regex", ".*h.*" );

ExecutionResult result =

engine.execute( "start n=node(0,1,2) where n.name =~ {regex} return n.name", params );

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Cơ sở dữ liệu đồ thị Neo4j (Trang 59)