Project Outline

Home > Project Outline
Versions: English
View Printer Friendly Version


The main Aims of this Project are as follows:
  • To provide a lightweight easy to use API for working with RDF in .Net
  • To provide a C#.Net library which is based on the latest .Net releases
  • To provide an API which is extensible to allow novel applications to be based upon it

Source Code

You can find our source code hosted both via our SourceForge Project Page and via our Mercurial Repository.

Also you can Download dotNetRDF Source which contains the source distribution for our most recent public release.

General Design

The dotNetRDF Library is designed to be relatively simplistic at it's core but highly extensible. The classes are fairly self explanatory and relate directly to the core concepts of RDF such as Graphs (IGraph) and Nodes (INode) and use a variety of standard interfaces such as IRdfReader to allow users to write code which is independent of underlying implementations of Parsers etc.

We take an approach broadly similar to the Jena API in that you create a Graph (a Model in Jena's terms) and use this to create Nodes and assert them as Triples into the Graph. Our Triples are in fact Quads since all Triples created will have a reference back to the Graph they were created for (though in the current implementation this may not be the Graph they are actually asserted in). See the Library Overview at the start of our User Guide for more information on this.

We provide support for adding custom Contexts to Triples to allow you to work with annotated Quads (which are needed for some advanced applications) but our default Serializers don't support saving this information to disk.


The current feature set of the Library is as follows, please see the Project Status and Project Roadmap pages to see the exact status of some of these features and when we plan to finish them or add additional features.
  • RDF Representation as Nodes, Triples, Graphs and Triple Stores
    • Support for arbitrary Context information on Triples
  • Parsing Concrete RDF Syntaxes
    • NTriples
    • Turtle
    • Notation 3
    • RDF/XML
    • RDF/JSON
    • RDFa in HTML/XHTML
    • TriG (Turtle with Named Graphs)
    • TriX
    • NQuads
  • Serializing to Concrete RDF Syntaxes and other formats
    • NTriples
    • Turtle
    • Notation 3
    • RDF/XML
    • RDF/JSON
    • XHTML+RDFa
    • GraphViz DOT Format (Including Generating Graph 'images' directly)
    • TriG
    • TriX
    • NQuads
    • CSV
    • TSV
    • HTML
  • SQL Backed Storage using our SQL Backend
  • Storage in native Triple Stores
    • AllegroGraph
    • Dataset Files e.g. TriG files (Read-Only in-memory)
    • Dydra
    • 4store
    • Fuseki
    • Sesame
    • SPARQL Query Protocol Stores (Read-Only)
    • SPARQL Graph Store HTTP Protocol Stores
    • Stardog
    • Virtuoso Universal Server
  • Querying RDF
    • Support for the all of SPARQL 1.0 and SPARQL 1.1 Query
    • SPARQL Queries over local Triple Stores which are loaded in memory
    • SPARQL Query over remote endpoints
    • Support for some simple reasoners
      • RDFS
      • SKOS
      • Basic N3 Rules
    • Support for Pellet Server to provide access to OWL reasoning on external knowledge bases
  • Updating RDF
    • Support for SPARQL 1.1 Update
    • Support for SPARQL 1.1 Graph Store HTTP Protocol
  • ASP.Net Integration
    • Variety of HTTP Handlers that can be used to integrate SPARQL Endpoints and Graph publishing into ASP.Net applications


Annotated, C#, dotNetRDF, Features, Graph, Model, Node, Quad, RDF, Triple

Related Content

There are no topics directly related to the Content you are viewing!


Powered By Visual Log from Visual Design Studios

Visual Log is Licensed Free for Any Use on this Website (User is Unregistered)