Swift 版本的 simple-graph 实现。一个基于 SQLite 的图数据库。
import SimpleGraph
struct MyNode: Node {
var id = UUID()
let data: String
}
let db = try SimpleGraph(at: URL(filePath: "test.db"))
let a = MyNode(data: "Hello")
let b = MyNode(data: "my")
let c = MyNode(data: "friend")
try db.insertNode(a)
try db.insertNode(b)
try db.insertNode(c)
try db.insertEdge(source: a, target: b)
try db.insertEdge(source: b, target: c, properties: "some data")
// Traverse from b up, to c
let ids: [String] = try db.traverse(fromNode: b, inbound: false, outbound: true)
#expect(UUID(uuidString: ids[0])! == b.id)
#expect(UUID(uuidString: ids[1])! == c.id)
搜索节点
搜索 (where: )
db.insert(a <- b)
和 db.insert(b -> a)
(= db.insert(source: b, target: a)
)欢迎随时提交 Pull Request!
(c) Jonas Everaert,根据 MIT 许可协议 授权。