sintaxis resumen net microsoft guia framework entender c# .net rdf semantic-web owl

c# - resumen - ¿Qué es una buena biblioteca RDF para.net?



sintaxis c# (5)

Investigué esto hace unos meses. Uno de los proyectos más interesantes que pude encontrar es: http://www.hookedonlinq.com/linqtordf.ashx

Estoy buscando una biblioteca que pueda manejar los datos de RDF y OWL.

Hasta ahora he encontrado:

  • semweb (no hay soporte de búho para todo lo que sé)
  • rowlex (más una aplicación ''navegador'')

Tus recomendaciones:

  • LinqToRdf (muy interesante, gracias marca!)

ROWLEX es realmente genial (usa SemWeb internamente). No es solo una aplicación de navegador, sino más bien un SDK escrito en C #. Si usas ROWLEX, ya no interactúas directamente con los tonos triples de RDF (aunque puedes), sino que le da un aspecto orientado a objetos. Hay dos escenarios de uso principales:

  1. Primera clase de negocios: tiene sus clases de negocios de .NET. De forma declarativa agrega atributos a sus clases de forma similar a como lo hace con los atributos de serialización XML. Después de esto, ROWLEX puede extraer la ontología correspondiente a sus clases de negocio y / o puede serializar sus objetos comerciales en RDF.
  2. Ontología primero: tiene su (s) ontología (es) y ROWLEX genera clases .NET para usted que puede usar para compilar / explorar documentos RDF. Lo bueno es que estas clases autogeneradas son mucho mejores que los resultados típicos de los generadores de código. Son cómodos de usar e imitan la característica de herencia múltiple de OWL al proporcionar operadores de conversión implícitos y explícitos para cubrir todo el gráfico de herencia.

El uso típico es el primer enfoque Ontology. Por ejemplo, supongamos que su ontología describe el siguiente escenario de herencia múltiple:

Vehículo isSubClassOf

Car isSubClassOf CompanyAsset

Con ROWLEX, obtendrá clases .NET para Car, Vehicle y CompanyAsset. El siguiente código C # compilará sin ningún problema:

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());

Esto se imprimiría:

myCarUri typeOf Car myCarUri WheelCount 4 myCarUri MonetaryValue 15000

El objeto comercial "automóvil" se representa dentro de RdfDocument como triples. Las clases C # / VB autogeneradas se comportan como vistas. Puede tener varias vistas C #, cada una de un tipo completamente diferente, en el mismo objeto comercial. Cuando interactúas con estas vistas, en realidad estás modificando el RdfDocument.


Produzco una biblioteca de código abierto dotNetRDF - El soporte de OWL es actualmente algo limitado, por lo que puede no ser ideal para sus usos


BrightstarDB es una tienda triple nativa, .NET NoSQL RDF, con soporte SPARQL, una estructura de entidad .NET con soporte LINQ y OData. Es gratis para desarrolladores y proyectos de código abierto y tiene un pequeño costo de tiempo de ejecución para uso comercial.

BrightstarDB proporciona tres niveles de API.

  1. Consulta SPARQL y API de transacción simple.
  2. Una api de objeto genérico que agrupa colecciones de tripletas en objetos de datos
  3. Una integración de Visual Studio que toma las definiciones de la interfaz y genera un modelo de dominio .NET fuertemente tipado que almacena sus datos como RDF en una instancia de BrightstarDB. El modelo .NET tiene soporte LINQ y también se puede exponer como un servicio OData.

Toda la documentación de BrightstarDB está en línea y el software está disponible para su descarga sin registro en http://www.brightstardb.com


Pruebe RDFSharp en Codeplex. Parece joven pero prometedor.