2012-02-13 28 views
9

Với đồ thị dưới đây:Sắp xếp/lọc các nút dựa trên các thuộc tính liên quan

enter image description here

  1. Làm thế nào để có được các nút liền kề với node[5] với weight > 50?
  2. Làm cách nào để nhận các nút liền kề với node[5] với nhãn "knows", được sắp xếp theo trọng lượng?
+0

ý của bạn là gì? – amirouche

+0

Kết nối trực tiếp – zsquare

+1

liền kề là thuật ngữ sử dụng trong thuật ngữ đồ thị – amirouche

Trả lời

10
  1. Làm cách nào để nhận các nút được liên kết với nút [5] với cạnh có nhãn "biết" và trọng số> 50?

    gv (5) .outE ('biết'). Lọc {it.weight> 50} .inV

Tùy thuộc vào mối quan hệ/hướng cạnh nó có thể là "INE" thay vì oute hoặc "cả hai" bước sau đó bạn sẽ cần phải điều chỉnh các truy vấn vì bạn sẽ có cạnh theo một hướng khác hoặc cạnh theo cả hai hướng ...

  1. làm thế nào để có được các nút liên quan đến nút [5] với nhãn "biết", được sắp xếp theo trọng lượng?

    gv (5) .outE ('knows'). Lọc {it.weight> 50} .sort {a, b -> a.weight < => b.weight} .toList() ._. inV

+0

# 1 hoạt động, # 2 làm tăng lỗi sau: 'Không có thuộc tính như vậy: inV cho lớp: java.util.AbstractList $ ListItr' – zsquare

+2

bạn đang sử dụng phiên bản Neo4j và Gremlin nào? Bạn đang lấy lại một danh sách ở đó, bạn có thể cần phải biến nó thành một đường ống với _() hoặc như vậy trước khi chuẩn bị xử lý nó với các bước tiếp theo. –

+0

Im trên 1.4.1, il thử nâng cấp lên 1.6 và dùng thử. – zsquare

12

Không chắc về Gremlin, nhưng trong Cypher nó là:

1:

START s=node(5) MATCH s-[r]-f WHERE r.weight > 50 RETURN f 

2:

START s=node(5) MATCH s-[r:knows]-f RETURN f ORDER BY r.weight 

Nếu bạn quan tâm đến sự chỉ đạo của mối quan hệ, đưa mũi tên trên các mối quan hệ, như "s - [] -> f" hoặc "s < - [] - f"

+0

Cảm ơn, nhưng tôi đang tìm kiếm một truy vấn gremlin. – zsquare

+0

Ah, được rồi. Đi với câu trả lời của abki, với sự thay đổi được Peter đề xuất. Bất kỳ lý do cụ thể nào để đi với Gremlin qua Cypher cho mục đích này? –

+1

Cá nhân tôi tìm thấy trình dọn dẹp Cypher, và đơn giản hơn để hiểu, nhưng dự án im làm việc trên, sử dụng gremlin. – zsquare

Các vấn đề liên quan