2009-09-08 15 views
1

我有一個要求,以圖形方式描述一組對象以及它們在PHP應用程序中的類型之間的關係。以前會生成relatinships。我只是在尋找一個工具,最好是免費的,它將顯示節點及其關係。什麼是用於在PHP(或JavaScript)中生成可視對象圖表的最佳庫(例如用於描繪社交網絡)

我接受PHP或JavaScript或任何只要不需要(最好)獨立插件就會工作的任何東西。我認爲我正在尋找的是與Graphviz有點相似的東西。

對象之間的某些關係可能類似於以下內容。這僅僅是例子。

Sam->(knows)->Mark /* Relationship is explicitly defined */ 
Shannon->(may know)->Jennifer  /* Relationship is inferred */ 
Linda->(is Married to)->Neville /* Relationship is defined but information is missing (i.e. gender) to determine which node fills which role (i.e. husband, wife) */ 
Carl->(is Related to)->John /* Relationship is defined but parameters are completely unknown */ 

請注意,兩個對象也可能共享多個關係。

Mary->(is Boss)->John 
Mary->(is Wife)->John 
Mary->(has children with)->John 

該圖不僅需要描述節點,還需要描述它們之間的關係。圖形庫需要具有一定的交互性,以便點擊節點或關係以啓用某些操作 - 例如查找(最好通過AJAX)附加信息。 (更可取的做法是允許該操作在鼠標懸停時發生。)

用於理解關係的庫。它只需要能夠表明存在關係幷包含描述在生成圖時提供的關係點的適當文本。

什麼是最好的圖書館來完成這項任務?即使沒有完全滿足需求的單一圖書館,如果有一個圖書館近在咫尺但可擴展,那也是很了不起的。

謝謝!

回答

2

您可以很容易地用yUML佈置視覺表示。例如,如果你想指出的是,「約翰娶了瑪麗和工程標誌」,你可以做到以下幾點:

[John]->(works for)->[Mark] 
[John]->(married to)->[Mary] 

產生如下:

+0

喬納森,這個方案是不是免費的,但它是非常非常好的。看起來它符合要求。如果我沒有找到免費的解決方案,我肯定會給yUML更深入的瞭解。非常感謝您的推薦。 – 2009-09-08 20:59:07

+0

@Anthony:解決方案是免費的,或者您可以爲自己的個人網絡購買。 – Sampson 2009-09-08 23:00:01

0

Bidirectional Interactive Network Visualization庫(用於Javascript)似乎具有您正在查找的功能。它用於繪製本體,你的例子看起來有點像本體論。人們有不同的,有時是多種關係。另外,BINViz庫提供整潔的交互性,相對較小,不依賴於其他庫。

相關問題