Есть ли способ перечислить * только * свойства узла в оболочке Neo4j?

#neo4j #neo4j-shell

#neo4j #neo4j-оболочка

Вопрос:

Например, если у меня есть узел с 2 свойствами, но более 100 взаимосвязей:

 neo4j-sh (andrew,45982528)$ ls
*last_updated_millis =[1476768446691]
*name                =[andrew]
(me)<-[:REL]-(632456453)
(me)<-[:REL]-(478046914)
(me)<-[:REL]-(100979884)
(me)<-[:REL]-(629523704)
// ..... *snip* .....
(me)<-[:REL]-(320864107)
(me)<-[:REL]-(398667824)
(me)<-[:REL]-(611628243)
neo4j-sh (andrew,45982528)$
  

Есть ли команда или параметр, к которым я могу применить ls , чтобы перечислить только свойства?

Ответ №1:

В neo4j-shell есть встроенная справка:

 neo4j-sh (?)$ help ls

Lists the contents of the current node or relationship. Optionally supply
node id for listing a certain node using "ls <node-id>".

  -a     Allows for cd:ing to a node not connected to the current node (e.g. 'absolute').
  -b     Brief summary instead of full content.
  -f     Filters property keys/values and relationship types. Supplied either as a single
     value or as a JSON string where both keys and values can contain regex.
     Starting/ending {} brackets are optional. Examples:
       "username"
        property/relationship 'username' gets listed
       ".*name:ma.*, age:''"
        properties with keys matching '.*name' and values matching 'ma.*' gets listed,
        as well as the 'age' property. Also relationships matching '.*name' or 'age'
        gets listed
       "KNOWS:out,LOVES:in"
        outgoing KNOWS and incoming LOVES relationships gets listed.
  -i     Filters are case-insensitive (case-sensitive by default).
  -l     Filters matches more loosely, i.e. it's considered a match if just a part of a
     value matches the pattern, not necessarily the whole value.
  -m     Display a maximum of M relationships per type (default 10 if no value given).
  -p     Lists properties.
  -q     Quiet mode.
  -r     Lists relationships.
  -s     Sorts relationships by type.
  -v     Verbose mode.
  

Вы можете использовать ls -p .

Кроме того, вы можете вернуть узел из запроса Cypher:

 MATCH (n) WHERE id(n) = 45982528 RETURN n;
  

который будет отображать идентификатор, а также свойства, вероятно, так:

  ------------------------------------------------------------------- 
| n                                                                 |
 ------------------------------------------------------------------- 
| Node[45982528]{name:"andrew", last_updated_millis: 1476768446691} |
 ------------------------------------------------------------------- 
1 row
8 ms