मैं एपोक प्रक्रियाओं का उपयोग करके Neo4j में व्यक्ति नोड का सबमैप प्राप्त करने का प्रयास कर रहा हूं।

मैंने apoc.map.submap() फ़ंक्शन का उपयोग करने का प्रयास किया जो मुझे neo4j apoc दस्तावेज़ में मिला। मेरी साइबर क्वेरी इस तरह दिखती है:

MATCH (p:person)
    RETURN  apoc.map.submap(p{.*}, ["name", "id"],null, true)

अपेक्षित परिणाम:

{
    "name" : "Tom",
    "id" : 23
}

आउटपुट:

Neo.ClientError.Statement.SyntaxError: अज्ञात फ़ंक्शन 'apoc.map.submap'

इस मुद्दे को कैसे हल करें?

0
ak2492 24 जून 2019, 18:37

1 उत्तर

सबसे बढ़िया उत्तर

जब मैं आपकी क्वेरी को अपने Neo4j पर चलाता हूं, तो मुझे अज्ञात प्रक्रिया त्रुटि नहीं मिलती है। संभवतः आपने अपने Neo4j सर्वर पर APOC प्लगइन स्थापित नहीं किया है। इसे करने का तरीका यहां दिया गया है: Apoc github

संपादित करें:

मैंने अपने डेटाबेस के साथ प्रयास किया:

MATCH (p:User) return apoc.map.submap(p{.*}, ["username", "uuid"], null, true)

आउटपुट:

{
    "uuid": "1d69d...",
    "username": "admin......"
}

यदि आप इसे काम नहीं कर सकते हैं, तो आप इस तरह कुछ कोशिश कर सकते हैं (बिल्कुल अनुरोध के समान आउटपुट नहीं):

MATCH (p:User) WITH apoc.map.values(p{.*}, ["username", "uuid"], true) AS values UNWIND values[0] as username UNWIND values[1] as uuid return username, uuid
0
Alexandre Senges 24 जून 2019, 19:02