Semantic Web на .NET

Не зря я последний месяц почитывал разные вещи про онтологизирование и про Semantic Web в частности. Похоже, в одном из проектов это пригодится.

А значит пора выбирать инструменты. Нужен triple-store и движок запросов к нему. Всё это должно вставать на Windows Server 2008 R2 и иметь интерфейс для .NET. Еще желательно чтобы бесплатно или за не сильно большие деньги.

Технология глубокого гугления дала следующие результаты.

 

http://code.google.com/p/linqtordf/

«LinqToRdf is a Semantic Web framework for .NET. It provides an easy way to integrate Semantic Web queries into your software. At the core of the system sits a LINQ query provider (like LINQ to SQL) that converts your queries into the SPARQL query language. You don’t have to know that much SPARQL or RDF to be able to use it. It also provides a UML-style design surface allowing you to create RDF files, and to generate compatible C# code to work with the RDF.

It provides developers with an intuitive way to make queries on semantic web databases. The project has been going for a year and it’s starting to be noticed by semantic web early adopters in the .NET community. LINQ provides a standardised query language and platform enabling any developer to understand systems using semantic web technologies via LinqToRdf. It will help those who don’t have the time to ascend the semantic web learning curve to become productive quickly.»

«LinqToRdf uses the SemWeb.NET framework by Joshua Tauberer, which provides a platform for working with OWL and SPARQL. It also uses the .NET 3.5 namespace System.Linq which will be released as part of Visual Studio .NET 2008.»

Интересная разработка.

 

http://www.intellidimension.com/products/semantics-platform/

«Semantics Platform is a family of products for building medium and large scale semantics-based applications using the Microsoft .NET framework. It provides semantic technology for the storage, services and presentation layers of an application.

  • RDF Data Storage
  • SPARQL Query and Inference Rule Processing
  • Class libraries for the Microsoft .NET Framework
  • Microsoft SQL Server Support
  • Microsoft ASP.NET Web Components
  • Microsoft Silverlight Libraries
  • Developer Tools»

Со слов разработчика: «We just pushed out the v2.0 of our Semantics Platform. It’s a complete product family built on the .NET Framework for loading, storing, query and reasoning on small or very large sets of RDF data. We offer a storage solution built on SQL Server that supports SPARQL and reasoning or our distributed store that can be deployed across multiple servers in a cluster.

We offer a free evaluation to any of the technology and a free express edition for the core RDF .NET libraries that include all the parsers, streams, SPARQL and inference rule processing. The express edition is actually quite powerful since it contains all the core SPARQL processing algorithms that are in our high-end products. The express edition also contains some visual development tools to make it simple to load RDF data and query it.»

Пожалуй, самая зрелая Semantic Web платформа для .NET. Но стоит денег :)

 

http://razor.occams.info/code/semweb/

«SemWeb.NET is a Semantic Web/RDF library written in C# for Mono or Microsoft’s .NET. The library can be used for reading and writing RDF (XML, N3), keeping RDF in persistent storage (memory, MySQL, etc.), querying persistent storage via simple graph matching and SPARQL, and making SPARQL queries to remote endpoints. Limited RDFS and general-purpose inferencing is also possible. SemWeb’s API is straight-forward and flexible.»

«SemWeb is used in ROWLEX, F-Spot (Gnome photo management), Beagle (Gnome desktop search) for its experimental RDF access layer, and (at least at one time) Sentient Knowledge Explorer (a commercial data visualizer).»

«SemWeb was first released in June 2005 and has been more recently tested with triple stores of over 1 billion statements»

Интересная вещь. Позволяет в т.ч. сесть на SQL Server.

 

http://rowlex.nc3a.nato.int/

«ROWLEX is a powerful open source toolkit for software developers. It has been built to simplify the use of fundamental semantic web technologies (RDF and OWL) under Microsoft’s .NET platform.
ROWLEX stands for Relaxed OWL EXperience. That is exactly what it is. It allows programmers to create and browse RDF documents while keeping the focus on the business objects. It abstracts away the level of RDF triples and elevates the level of the programming work to (OWL) classes and properties. ROWLEX opens the way to experience the beauty of the open world assumptions within the reliable .NET environment.»

Похоже что это нечто для работы с данными в RDF как с custom business objects, позволяя сконвертить схему в библиотеку классов .NET.

 

http://sourceforge.net/projects/dotsesame/

«The dotSesame project is a C# port of the Sesame project, which is originally written in Java. It is an open source RDF database with support for RDF Schema inferencing and querying. Full documentation of Sesame can be found at http://www.openrdf.org/»

«Sesame is an open source RDF framework with support for RDF Schema inferencing and querying. Originally, it was developed by Aduna (then known as Aidministrator) as a research prototype for the EU research project On-To-Knowledge. Now, it is further developed and maintained by Aduna in cooperation with NLnet Foundation, developers from Ontotext, and a number of volunteer developers who contribute ideas, bug reports and fixes.

Sesame has been designed with flexibility in mind. It can be deployed on top of a variety of storage systems (relational databases, in-memory, filesystems, keyword indexers, etc.), and offers a large scala of tools to developers to leverage the power of RDF and RDF Schema, such as a flexible access API, which supports both local and remote (through HTTP or RMI) access, and several query languages, of which SeRQL is the most powerful one.»

Смущает природа проекта. Порт с Java на .NET – думаю, не лучшая идея.

 

http://virtuoso.openlinksw.com/

«Virtuoso is an innovative enterprise grade multi-model data server for agile enterprises & individuals. It delivers an unrivaled platform agnostic solution for data management, access, and integration.

The unique hybrid server architecture of Virtuoso enables it to offer traditionally distinct server functionality within a single product offering that covers the following areas:

  • Relational Data Management
  • RDF Data Management
  • XML Data Management
  • Free Text Content Management & Full Text Indexing
  • Document Web Server
  • Linked Data Server
  • Web Application Server
  • Web Services Deployment (SOAP or REST)»

Эта штука, похоже, умеет очень многое, явно больше того, что мне нужно. Но стоит ну очень приличных денег. Давно я не видел софт, который за unlimitied лицензию на один сервер требует 160 000 долларов :)

 

Этот пост больше для себя, чтобы собрать цитаты и ссылки и ничего не забыть. Но может кому-то из моих коллег тоже будет полезно.

 

Павел Сурменок

http://surmenok.ru/