我有一个标准的IIS Web应用程序,它将数据存储在标准的SQL Server或Oracle数据库中。 我现在感兴趣的是以RDF格式存储数据,去完整的语义网 。
build议直接以RDF格式存储数据吗? CRUDQ操作将在数据上完成。 性能明智这是一个好的举措?
如果不是 (就像我假设),我想我会维护标准的SQL数据库和导出/从RDF导入数据? 我怎样才能做到这一点? 那里有好的转换器吗?
如果你真的想坚持一个我不推荐的关系型数据库,你可以使用类似于D2RQ的东西,或者你可以寻找一些支持R2RML的东西 。 或者你可以试试SDB 。
但是,如果您想使用语义技术,则使用实际的RDF数据库会更好。 你会得到更好的表现,你会有更好的开发经验。 在这里有很多选择,如果你拥有Oracle许可, Mulgara , Jena , Sesame , Stardog , OWLIM , AllegroGraph , BigData , Virtuoso和Oracle提供了一些RDF支持,但根据我的经验,这不像专用的RDF数据库。
很多SemWeb工具链都是用Java编写的,但是既然你提到了IIS,也许你是在MS世界里,在这种情况下, dotNetRDF是一个不错的选择。
但总而言之,如果您打算使用该技术,请使用专用的RDF / SemWeb工具。 不要试图把RDF变成非语义的东西,也不要自己写。 没有必要重新发明轮子,有很多好的SemWeb软件在那里让你的项目进行。
我认为重点是你将使用/实现你的(?)数据的接口。
有几条路要走,我自己会用SWI-Prolog来建模RDF存储,可能用SPARQL ,同时通过ODBC访问原始数据。
然后,我有机会避免静态映射(转换可能是一种风险,我认为),至少在数据出现一些“稳定”的语义之前。
SWI-Prolog也有一些作为报告工具和生成Web演示的点。
在Prolog中编写W3C规则将 “自动”关系映射到三元组似乎是一个有趣的任务,我会尝试…