2016-09-08 5 views
-1

私は今かなりの時間orientdbで遊んでいます。私のプロジェクトのほとんどで、私はトラフィックネットワークからGISとITSデータを扱っています...だから、実際のグラフのデータストアはグラフデータベースよりも優れていると思いました。グラフデータのモデリングの基礎

私は、マルチモーダルトラフィックネットワークグラフをリレーショナルデータベースからorientdbに移行するためのPythonスクリプトを書いています。基本的なデータモデル(トラフィックネットワークノード/交差点とエッジ/ウェイ)は簡単で、実際の実世界表現を格納するためにorientdbs空間データ型を利用しました。しかし、グラフデータモデリングの原則を正しく理解することが難しくなりました。

現実世界では、ノード/交差点はあまり面白くありません。ほとんどのプロパティは、エッジ(車線、車線、幅など)に位置しています。グラフデータモデルでは、グラフを使用してエンティティを関連付けるので、ノードはほとんどのプロパティを持ち、エッジはノード同士を関連付けるだけです。

グラフデータモデルで実際の交通ネットワークグラフを正しくモデル化する方法、具体的には車線や街路のコーティングなどの側面をネットワークグラフのエッジにどのようにモデル化しますか?

P.S.エッジは道路、列車、歩道、バイカールートなどの複数のタイプの交通を運ぶことができるため、ネットワークグラフのエッジにのみ参照する必要があるため、エッジのレーンとプロパティは独自のクラスにする必要があります。

+0

way、lanes、widthのタイプはすべてオブジェクトのプロパティであり、グラフデータベースではオブジェクトは頂点です –

+0

Ok ..現在のリレーショナルデータモデルでは、自転車レーン幅や舗装などの自転車に関連するアスペクト)は、ネットワークエッジのジオメトリから導出されるだけであるため、独自の実世界表現を持ちます。これは実世界の表現を格納するためのOLineStringプロパティを保持し、orientdbエッジ経由でトラフィックネットワークのエッジに関連付けられている自転車のレーンの頂点ですか?それも可能ですか?エッジを介してエッジを頂点に関連付けますか?それは正しいのですか? –

+0

エッジは2つの頂点を接続するために使用されます。たとえば、通りや自転車レーンがある場合は、エッジを使用してそれらを接続できます。 [画像はこちら] –

答えて

2

次の記事を読むと、モデリングの問題(Google検索の検索)

Bordoloi、S.およびKalita、B.(2013a)が対象となります。既存のリレーショナルデータベースからグラフデータベースモデルを設計する。国際コンピュータジャーナル、74(1)。

Bordoloi、S.およびKalita、B.(2013b)。参照グラフを用いたデータベーススキーマの抽象的な数理モデルへのERモデル国際工学研究開発誌、e-ISSN、51-60ページ。

De Virgilio、R.、Maccioni、A.およびTorlone、R。(2014)。モデルベースのグラフデータベースの設計。概念モデル作成、ページ172-185。 Springer。

Park、Y.、Shankar、M.、Park、B.-H.、and Ghosh、J.(2014)。大規模ヘルスケアシステムのグラフデータベース:効率的なデータ管理とデータサービスのためのフレームワーク。データエンジニアリングワークショップ(ICDEW)、2014年IEEE第30回国際会議、12-19ページ。 IEEE。