图形结构数据库和 Php

我想使用php的图形数据库。您能指出一些从哪里开始的资源吗?是否有任何示例代码/教程?或者有没有其他方法可以在完全随机/抽象的情况下存储彼此相关的数据?

-

所需关系的非常抽象的例子:约翰与玛丽有关,两者都与学校有关,约翰很高,玛丽是矮个子,约翰有蓝眼睛,玛丽有绿眼睛,查询我想要的是哪些人与“绿眼睛的矮个子和上学”有关 - >回答约翰

-

另一个例子:

    TrackA -> ArtistA
           -> ArtistB

           -> AlbumA -----> [ label ]
           -> AlbumB -----> [   A   ]

           -> TrackA:Remix
           -> Genre:House

           -> [ Album ] -----> [ label ]
   TrackB  -> [   C   ]        [   B   ]

示例查询:

TrackB更接近哪种类型?答:House - 因为它与专辑C有关,它与TrackA有关,与流派有关:House

获取所有流派:标签A的房屋相关专辑:结果:专辑A,专辑B - 因为它们都有TrackA,这与流派:房屋有关

-

这在MySQL中是可能的,但它需要为每个项目设置一组固定的属性/列和一个复杂的非灵活查询,相反,我需要每个属性本身都是一个项目,而不是“属于”某物,与某物“相关”。


答案 1

有一些工作正在进行中,使Neo4j图形数据库可以从PHP获得,请参阅此wiki页面以获取更多信息!关于如何将您的域建模为图形,用户邮件列表往往非常棒。

更新:现在有一篇关于PHP neo4j REST客户端的简短入门博客文章


答案 2

听起来有点像一个“典型的”Prolog问题......这是一种与PHP完全不同的编程语言。但也许你可以和popen一起工作。

或者你用列[id,谓词,atom1,atom2]定义一个SQL表,以存储“Mary have Green Eyes”的真实性:谓词=“has”,atom1 =“Mary”,atom2 =“Green Eyes”。

现在,您可以使用所选的 SQL 联接并筛选谓词和属性。


推荐