ROWLEX非常酷(内部使用SemWeb)。它不仅是一个浏览器应用程序,而且是用C#编写的SDK。如果您使用ROWLEX,则不再直接与RDF三元组交互(尽管您可以这样做),而是给出了面向对象的外观和感觉。有两个主要的使用场景:
典型用法是先有本体的方法。例如,假设您的本体描述了以下多重继承情况:
Car isSubClassOf Vehicle
Car isSubClassOf 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
“car”业务对象在RdfDocument中表示为三元组。 自动生成的C# / VB类行为类似于视图。 您可以在同一个业务对象上具有几个完全不同类型的C#视图。 当您与这些视图交互时,实际上是在修改RdfDocument。
BrightstarDB是一种本地的、基于.NET的NoSQL RDF三元组存储,支持SPARQL查询,并提供带有LINQ和OData支持的.NET实体框架。它对开发人员和开源项目免费,商业使用需要支付少量运行时成本。
BrightstarDB提供三个级别的API:
BrightstarDB所有文档都在线上提供,软件可在http://www.brightstardb.com下载,无需注册。
我几个月前进行了一些研究。我找到的最有趣的项目之一是: http://www.hookedonlinq.com/linqtordf.ashx