URLを記述し、それらを記述するために使用されるタグで構成されるグラフデータベースを想像してみてください。これから、どのタグセットが最も頻繁に使用されるかを見いだし、識別された各セットにどのURLが属するかを判断したいと考えています。私はcypher
でそのようにこの問題を単純化したデータセットを作成しようとしました最も頻繁に使用される明確な用語セットを見つける
:参照(neo4j console example here)としてこれを使用して
CREATE (tech:Tag { name: "tech" }), (comp:Tag { name: "computers" }), (programming:Tag { name: "programming" }), (cat:Tag { name: "cats" }), (mice:Tag { name: "mice" }), (u1:Url { name: "http://u1.com" })-[:IS_ABOUT]->(tech), (u1)-[:IS_ABOUT]->(comp), (u1)-[:IS_ABOUT]->(mice), (u2:Url { name: "http://u2.com" })-[:IS_ABOUT]->(mice), (u2)-[:IS_ABOUT]->(cat), (u3:Url { name: "http://u3.com" })-[:IS_ABOUT]->(tech), (u3)-[:IS_ABOUT]->(programming), (u4:Url { name: "http://u4.com" })-[:IS_ABOUT]->(tech), (u4)-[:IS_ABOUT]->(mice), (u4)-[:IS_ABOUT]->(acc:Tag { name: "accessories" })
を、私たちはそれを見て、視覚的に最も一般的に使用されることを識別することができますタグはtech
とmice
(これは問わず)、3つのURLを参照しています。最も一般的に使用されるタグのペアは[tech, mice]
です(この例では)2つのURL(u4とu1)で共有される唯一のペアです。このタグのペアは、一致するURLのサブセットであり、どちらのセットでもないことに注意してください。任意のURLで共有される3つのタグの組み合わせはありません。
cypher
クエリーを使用して、どのタグの組み合わせが最も頻繁に使用されるか(ペアまたはNサイズのグループのいずれか)を特定するにはどうすればよいですか?おそらく、分析を容易にするこのデータを構造化するためのよりよい方法がありますか?または、この問題はグラフDBにはあまり適していませんか?このことを理解しようと少し苦労している、どんな助けや考えもありがとう! URLノードでの
すばらしいもの。本当に興味深いアプローチで、グラフの新生児として、このソリューションに助けを借りるのにしばらく時間がかかります。とても有難い! –