【发布时间】:2008-10-27 18:11:26
【问题描述】:
【问题讨论】:
标签: c# .net rdf semantic-web owl
【问题讨论】:
标签: c# .net rdf semantic-web owl
ROWLEX 实际上很酷(在内部使用SemWeb)。它不仅仅是一个浏览器应用程序,而是一个用 C# 编写的 SDK。如果您使用 ROWLEX,您将不再直接与 RDF 的三元组交互(尽管您可以),而是提供面向对象的外观和感觉。主要有两种使用场景:
典型的用法是本体优先方法。例如,假设您的本体描述了以下多重继承场景:
汽车是车辆的子类
汽车是SubClassOf CompanyAsset
使用 ROWLEX,您将获得 Car、Vehicle 和 CompanyAsset 的 .NET 类。以下 C# 代码将毫无问题地编译:
RdfDocument rdfDoc = new RdfDocument();
Car car = new Car("myCarUri", rdfDoc);
Vehicle vehicle = car; // implicit casting
CompanyAsset companyAsset = car; // implicit casting
vehicle.WheelCount = 4;
companyAsset.MonetaryValue = 15000;
Console.WriteLine(rdfDoc.ToN3());
这将打印:
myCarUri typeOf Car
myCarUri WheelCount 4
myCarUri MonetaryValue 15000
“汽车”业务对象在 RdfDocument 中表示为三元组。自动生成的 C#/VB 类表现为视图。您可以在同一个业务对象上拥有多个 C# 视图——每个视图的类型完全不同。当您与这些视图交互时,实际上是在修改 RdfDocument。
【讨论】:
BrightstarDB 是一个原生的 .NET NoSQL RDF 三元存储,支持 SPARQL,一个支持 LINQ 和 OData 的 .NET 实体框架。它对开发人员和开源项目是免费的,商业用途的运行时成本很低。
BrightstarDB 提供三个级别的 API。
所有 BrightstarDB 文档均在线,无需注册即可下载该软件,无需在 http://www.brightstardb.comhttp://www.brightstardb.com
【讨论】:
我制作了一个开源库 dotNetRDF - OWL 支持目前有些有限,但可能不适合您的使用
【讨论】:
几个月前我对此进行了研究。比较有趣的之一 我能找到的项目是: http://www.hookedonlinq.com/linqtordf.ashx
【讨论】:
在 Codeplex 尝试RDFSharp。看起来年轻但很有前途。
【讨论】: