Как сделать перекрестную ссылку на другой объект в Weaviate?

Как сделать перекрестную ссылку на другую вещь в Weaviate?

Я попробовал код ниже, но я получаю сообщение об ошибке (также ниже)

weaviateObj = {
  "class": "Article",
  "schema": {
     "articleTitle": articlemeta.title,
     "publisherId": articlemeta.publisherId,
     "digitalObjectIdentifier": articlemeta.digitalObjectIdentifier,
     "publishedInJournal": {
          "beacon" : WEAVIATE_URL + "/v1/things/" + journaluuid
     }
    }
}

r = runREST(WEAVIATE_URL + "/v1/things", weaviateObj, 0, "POST")

ОШИБКА:

{
    "error": [
        {
            "message": "invalid thing: invalid cref: reference must be an array, but got a map: map[string]interface {}{\"beacon\":\"http://localhost:8080/v1/things/7d60395e-db76-4401-9994-692ce0f5b10d\"}"
        }
    ]
}

1 ответ

Решение

Ответ можно найти в сообщении об ошибке;

invalid cref: reference must be an array, but got a map: map[string]interface {}

Вы отправляете map[string] нравится:

"publishedInJournal": {
     "beacon" : WEAVIATE_URL + "/v1/things/" + journaluuid
}

Но это должен быть массив:

"publishedInJournal": [{
     "beacon" : WEAVIATE_URL + "/v1/things/" + journaluuid
}]

PS:
Кроме того, не уверен, что WEAVIATE_URL ссылается на, но убедитесь, что синтаксис: weaviate://localhost/things/ + journaluuid

Другие вопросы по тегам