2010-12-05 6 views
11

Estoy tratando de analizar el gran archivo RDF del Proyecto Gutenberg. Otro miembro de mi equipo está bastante atascado, habiendo probado Semweb y una biblioteca de Python.¿Cómo comienzo con Sparql como Desarrollador .NET?

Siendo un poco ingenuo con respecto a rdf, intenté escribir un sencillo script de análisis de xml en Ruby. Pronto me di cuenta de que era demasiado complejo para realmente funcionar.

He descargado la herramienta de Intellidimension y estoy pensando en usarla.

Supongo que no entiendo cómo usar SPARQL. Parece que hay un analizador en Java llamado Jena. ¿Hay algo así en .NET?

Disculpe la pregunta obvia ... No estoy seguro de dónde escribir las consultas SPARQL. ¿Hay una biblioteca que me permita construir una consulta usando cadenas, similar a Data.SQlClient y luego ejecutar contra algún procesador Sparql?

¿Contra qué ejecuta Sparql?

Respuesta

5

Otra opción es dotNetRDF en .Net (descargo de responsabilidad - Yo soy el desarrollador principal de este proyecto)

Tiene la ventaja sobre SemWeb que se está actualmente mantenido y tiene desarrollo en curso activo más que incluye soporte para muchas de las tecnologías de la web Semántica más recientes, como RDFa y SPARQL 1.1

Versus Intellidimension tiene la ventaja de ser totalmente libre (elija su propia licencia de GPL, LGPL o el MIT en función de sus necesidades)

Re: SPARQL

Tanto SemWeb como dotNetRDF incluyen analizadores SPARQL y motores para ejecutar consultas. SemWeb's se basa en un puerto IKVM de un viejo motor SPARQL basado en Java que desde hace mucho tiempo ha sido reemplazado por el motor ARQ muy superior en el marco de Jena. dotNetRDF tiene el motor Leviathan que tiene una paridad de características cercana a ARQ (aunque no necesariamente como rendimiento para algunos tipos de consultas).

Tanto ARQ (Jena) como Leviathan (dotNetRDF) son compatibles con la mayoría de las especificaciones emergentes de SPARQL 1.1. Si tiene conocimientos de SQL, lo más probable es que desee utilizar un motor que admita esto, ya que esto agrega muchas de las funciones familiares de SQL al lenguaje SPARQL, p. Agregados (COUNT, MAX, etc.), GROUP BY, HAVING, Project Expressions (fn: concat (? X,? Y) AS? Z)

3

El camino a seguir es usar el SemWeb Library para analizar el archivo RDF en la memoria y luego en una base de datos. También puede importar las ontologías asociadas.

Semweb tiene una biblioteca SPARQL incrustada, por lo que puede ejecutar consultas SPARQL en la base de datos. Si no está familiarizado con SPARQL, puede usar LINQ.

Si es nuevo en Semantic Web Technologies, le recomiendo leer primero el Semantic Web Primer (disponible como libro y archivos de PowerPoint). Hay también un buen SPARQL Tutorial on the Jena Website

2

Otra opción es la biblioteca dotSesame. Este es un puerto IKVM de Java RDF framework Sesame. Incluye analizadores RDF, escritores, un motor de consulta SPARQL y razonadores.

0

Con RDFSharp (http://rdfsharp.codeplex.com/) no necesita saber SPARQL, porque crea con fluidez sus consultas SPARQL y las aplica a gráficos y almacenes. Todo sin escribir una sola línea de consulta SPARQL.