
coco/annotations-rw-neo4jannotations-rw-neo4j是一个用于在Neo4j中读写注释的服务和API。它支持从消息队列消费消息并写入Neo4j,若同时启用生产者,消息会被转发到下一个(PostAnnotations)队列。此外,该流程也可通过PUT端点触发,此时服务期望接收注释消费者输出格式的JSON数据。
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| SHOULD_FORWARD_MESSAGES | 是否启用消息转发功能 | true |
| NEO4J_URI | Neo4j数据库连接地址 | - |
| KAFKA_BROKERS | Kafka broker地址列表 | - |
| PORT | 服务监听端口 | 8080 |
bash# 基本运行配置(连接本地Neo4j和Kafka) docker run -d \ -p 8080:8080 \ -e NEO4J_URI=bolt://neo4j:7687 \ -e KAFKA_BROKERS=kafka:9092 \ -e SHOULD_FORWARD_MESSAGES=true \ --name annotations-rw-neo4j \ annotations-rw-neo4j:latest # 禁用消息转发(仅本地测试用) docker run -d \ -p 8080:8080 \ -e NEO4J_URI=bolt://localhost:7687 \ -e SHOULD_FORWARD_MESSAGES=false \ --name annotations-rw-neo4j-local \ annotations-rw-neo4j:latest
功能:替换指定内容ID和生命周期的注释,空列表将删除所有注释
请求参数:
annotatedContentId:被注释内容的IDannotations-lifecycle:注释生命周期标识请求体:注释JSON数组(示例格式如下)
json[ { "id": "[***]", "predicate": "MENTIONS", "provenances": [ { "agent": "annotator-service", "score": 0.95, "time": "2024-01-01T00:00:00Z" } ] } ]
响应说明:
使用示例:
bashcurl -XPUT -H "X-Request-Id: 123" -H "Content-Type: application/json" \ http://localhost:8080/content/3fa70485-3a57-3b9b-9449-774b001cd965/annotations/annotations-v1 \ --data @annotations.json
功能:查询指定内容ID和生命周期的注释(内部API,非公共注释查询接口)
响应:
使用示例:
bashcurl -H "X-Request-Id: 123" \ http://localhost:8080/content/3fa70485-3a57-3b9b-9449-774b001cd965/annotations/annotations-v1
功能:删除指定内容ID和生命周期的所有注释
响应:
使用示例:
bashcurl -XDELETE -H "X-Request-Id: 123" \ http://localhost:8080/content/3fa70485-3a57-3b9b-9449-774b001cd965/annotations/annotations-v1
http://localhost:8080/__healthhttp://localhost:8080/__pingid字段为注释关联的概念IDSHOULD_FORWARD_MESSAGES=false
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务