0

我的架构是:

schema = """id: int @index(int) .
             question: string .
             answer: string .
             creation_time: int .
             interval_time: int .
             box_id: int .
             
             type Card {
                id
                question
                answer
                creation_time
                interval_time
                box_id
             }"""

假设我插入了一些节点,我想更新一张卡的问题。我该怎么做?我知道有一个 set 函数,但我不知道如何在 python 中使用它,也找不到示例或其他任何东西。

4

1 回答 1

1

在 Dgraph 文档中有一个带有示例突变的 python 客户端:

https://dgraph.io/docs/clients/python/#running-a-mutation

nquads = """
  <0x2a> <question> "New Question Text Here..." . 
"""
mutation = txn.create_mutation(set_nquads=nquads)
request = txn.create_request(mutations=[mutation], commit_now=True)
txn.do_request(request)

您要更新的卡片0x2a在哪里。uid如果您没有 uid,则需要遵循 upsert 模式。

query = """
  { u as var(func: eq(id, 42)) @filter(type(Card)) }
"""
nquad = """
  uid(u) <question> "New Question Text Here..." . 
"""
mutation = txn.create_mutation(set_nquads=nquad)
request = txn.create_request(query=query, mutations=[mutation], commit_now=True)
txn.do_request(request)

您要更新的卡42在哪里id

于 2021-06-23T04:40:30.673 回答