【发布时间】:2014-07-10 06:23:30
【问题描述】:
我在使用 NEO4J 的 C# 客户端在 NEO4J 2.0.3 中创建节点时遇到此异常。 我的节点结构是这样的
namespace UserGraph.BusinessObjects
{
public class UserInfo
{
public int UserID { get; set; }
public string UserName { get; set; }
public int HeadendId { get; set; }
public int Score { get; set; }
public string ThirdPartyObjID { get; set; }
public long ThirdPartyTypeId { get; set; }
public string[] ThirdPartyFriendsIds { get; set; }
public List<Programme> Programs { get; set; }
public List<Channel> Channels { get; set; }
}
public class Channel
{
public long ChannelID { get; set; }
public String ChannelName { get; set; }
}
public class Programme
{
public long ProgrammeID { get; set; }
public String ProgrammeName { get; set; }
}
}
我认为 Neo4j 节点不保存复杂数据。我在这个链接上搜索并找到了http://docs.neo4j.org/chunked/stable/graphdb-neo4j-properties.html 谁能告诉我有什么方法可以将频道和节目对象的列表存储在我的 UserInfo 类中。
【问题讨论】:
-
正如异常所说,您只能存储原始类型数组。在我看来,最好在不同节点类型之间添加关系。
-
感谢@stephenmuss 的快速回复。这意味着我应该为 UserInfo、Channel 和 Programme 创建单独的节点。一旦创建,我应该在它们之间创建关系。
-
没错。这更适合图形数据库。
-
我完全同意@stephenmuss,但是你知道,如果你确实想存储这些元素,你基本上需要使用自定义序列化器 - 你可能会发现你需要像这样的东西字典见stackoverflow.com/questions/23132187/… 示例
标签: neo4j graph-databases neo4jclient