我不是MS.NET的人,但对LINQ感到好奇,本文http://www.linqpad.net/WhyLINQBeatsSQL.aspx解释了为什么它比SQL更好。
我使用SPARQL工作很多,并且在很多方面它比SQL更糟糕(即使1.1有点不成熟恕我直言)。在上面的文章中是否有LINQ与SPARQL的比较?
我认为对RDF数据最感兴趣的LINQ方面是LINQ可以返回层次结构(在RDBMS中说的是表值变量;或者认为是XML结构)。 SPARQL无法做到这一点:
?s gvp:broaderExtended aat:300264089
(免责声明:我构建了该端点)因此,使用SPARQL,我们要么返回表格数据,要么返回单个图形对象,但不能自由地混合它们。具有讽刺意味的是,因为RDF 是图形数据模型。
有几个LINQ到SPARQL绑定:
但是他们中的任何人都处理这个"等级结构"方面?
答案 0 :(得分:0)
(我更喜欢这是一个评论,但它太长了)
我不是专家,无论是LINQ还是SPARQL,我都没有检查你提供的链接,但最近我听了Anders Heilsberg,微软技术研究员和C#首席设计师的播客和LINQ。
http://www.se-radio.net/2008/05/episode-97-interview-anders-hejlsberg/
他说LINQ语法遵循FROM ... WHERE ... SELECT结构,以允许更好的类型推断。
当它知道表名(FROM ...子句)时,LINQ中的类型推理引擎可以在编译时开始工作,获取自动完成器的列名,例如与Visual Studio中的语法检查器交互。 / p>
我不认为这对于RDF三元组来说很容易/可能,其中属性/谓词(SELECT / WHERE)甚至可以为空,但不是FROM,(空白节点)。
这些空白节点表示存在具有特定属性但未提供标识或引用的个人。