我在询问算法,这些算法在查询语义Web数据库以将所有相关的RDF提供给原始对象时非常有用。
即如果原始对象是电影"inception"
,我想要一个算法来构建查询以获取电影,工作室,国家等的演员的RDF,以便我可以构建关系图。
最接近的例子是this question的答案,特别是this class,我想使用相似的算法或者搜索标题来生成这样的算法,我想也许可以对图遍历进行一些修改算法可以工作,但我不确定。
注意:我的项目是在ASP.NET中。因此,使用Exisiting .NET库会有所帮助。
答案 0 :(得分:1)
你应该能够做一个简单的breadth-first-search来获取与给定节点相距一定距离的所有对象。
您需要了解有关模式的信息,因为某些相邻节点比其他节点更有意义。例如,在Freebase中,intermediate nodes为link a film to an actor and a role。你需要知道要深入了解演员和角色,因为只是说电影与中间节点有关并不是很有趣。
答案 1 :(得分:0)
您是否看过“property paths”?
属性路径提供了一种更简洁的方式来编写基本图形的一部分 模式,并将三重模式的匹配扩展到任意 长度路径。属性路径不会使任何现有路径无效或更改 SPARQL查询。
三重存储和SPARQL引擎(例如OWLIM和AllegroGraph)支持它们。