Click or drag to resize

VDS.RDF Namespace

Top Level Namespace for the dotNetRDF Library which embodies a simple but powerful API for working with RDF and SPARQL.

Specific Namespaces within the Hierarchy provide Parsing and Serialization functionality along with a host of related classes to support these functions.

Support for querying RDF is provided in the Query namespace which includes SPARQL Query, limited reasoning support in the Query.Inference namespace and a Pellet Server client in the Query.Inference.Pellet namespace.

Support for updating RDF based on the SPARQL 1.1 Update and Graph Store HTTP Protocol for RDF Graph Management is provided in the Update and Update.Protocol namespaces.

Third Party Storage

For communicating with arbitrary Triple Stores we have a dedicated Storage namespace. As of this release we support the following Triple Stores:

  • AllegroGraph
  • Dydra
  • 4store
  • Fuseki
  • Any Sesame HTTP Protocol compliant store e.g. Sesame, OWLIM
  • Any SPARQL Graph Store HTTP Protocol for RDF Graph Management compliant stores
  • Any SPARQL store that exposes a Query and/or Update endpoint
  • Stardog
  • Virtuoso

ASP.Net Integration

For those building ASP.Net based websites the Web namespace is dedicated to providing classes for integrating RDF into ASP.Net applications.

Ontology API

There is also an Ontology namespace which provides a more resource and ontology centric API for working with RDF than the standard Graph and Triple centric APIs.

Configuration API

We provide a Configuration API which provides for encoding configuration in RDF Graphs. This configuration system is used extensively as part of the ASP.Net support as it allows for much more expressive and flexible configurations than were previously possible. See the documentation on our GitHub wiki for many detailed examples. This is primarily intended as an easy way to help deploy configurations for ASP.Net applications though you can make use of the API to describe the configuration of various types of objects in other applications, for example we use it in our Store Manager utility to store connection details.

Notes

dotNetRDF is now considered a stable release, this means it should be stable for production scenarios. However it is open source software and despite our best efforts there may still be bugs. Please help us improve this library by emailing us when you find a bug, you can use the GitHub Issues list to report bugs or request new features. You can ask questions on StackOverflow using the tag dotnetrdf.

Client Profile Build

The Client Profile build omits the reference to System.Web so lacks the ASP.Net integration and some other features that rely on this dependency but is otherwise a fairly complete build of the library.

Classes
  ClassDescription
Public classAsyncError
Marker that will be passed to your callback in the event that an async error occurs, provides access to the error and any state that you passed in originally.
Public classBaseBlankNode
Abstract Base Class for Blank Nodes.
Public classBaseDemandGraphCollection
A decorator for graph collections that allows for graphs to be loaded on demand if they don't exist in the underlying graph collection.
Public classBaseEndpoint
Abstract Base class for HTTP endpoints.
Public classBaseGraph
Abstract Base Implementation of the IGraph interface.
Public classBaseGraphCollection
Abstract Base Class for Graph Collections.
Public classBaseGraphLiteralNode
Abstract Base Class for Graph Literal Nodes.
Public classBaseLiteralNode
Abstract Base Class for Literal Nodes.
Public classBaseNode
Abstract Class for Nodes, implements the two basic properties of the INode Interface.
Public classBaseTripleCollection
Abstract Base Class for Triple Collections.
Public classBaseTripleComparer
Abstract base class for Triple Comparers which provide for comparisons using different node comparers.
Public classBaseTripleStore
Abstract Base Class for a Triple Store.
Public classBaseUriNode
Abstract Base Class for URI Nodes.
Public classBaseVariableNode
Abstract Base Class for Variable Nodes.
Public classBasicTripleContext
Class which implements a very basic Triple Context.
Public classBlankNode
Class for representing Blank RDF Nodes.
Public classBlankNodeMapper
Mapper class which creates Blank Node IDs and ensures that auto-assigned and user specified IDs don't collide.
Public classBlankNodeOutputMapper
Mapper class which remaps Blank Node IDs which aren't valid as-is in a given serialization to a new ID.
Public classCancellableGraphEventArgs
Event Arguments for Events regarding Graphs which may be cancelled.
Public classComparisonHelper
Static Helper class containing standard implementations of Comparison between various Node types.
Public classDiskDemandGraphCollection
A decorator for graph collection where graphs not in the underlying graph collection can be loaded on-demand from the Files on Disk as needed.
Public classDiskDemandTripleStore
Class for representing Triple Stores which are collections of RDF Graphs.
Public classEqualityHelper
Static Helper class containing standard implementations of Equality between various Node types.
Public classExtensions
Provides useful Extension Methods for use elsewhere in the Library.
Public classFastNodeComparer
A Node Comparer which does faster comparisons since it only does lexical comparisons for literals rather than value comparisons.
Public classFastVirtualNodeComparer
A Node Comparer which does faster comparisons since it only does lexical comparisons for literals rather than value comparisons, and it compares virtual nodes on their VirtualID where possible.
Public classFileGraphPersistenceWrapper
The File Graph Persistence Wrapper is a wrapper around antoher Graph that will be persisted to a file.
Public classFullTripleComparer
Triple comparer which compares on subjects, then predicates and finally objects.
Public classGraph
Class for representing RDF Graphs.
Public classGraphCollection
Wrapper class for Graph Collections.
Public classGraphDiff
Implementation of a Graph Difference algorithm for RDF Graphs.
Public classGraphDiffReport
Represents the Differences between 2 Graphs.
Public classGraphDiffReportExtensions
Provides useful Extension Methods for working with graph diff reports.
Public classGraphEventArgs
Event Arguments for Events regarding Graphs.
Public classGraphExtensions
Provides useful Extension Methods for working with Graphs.
Public classGraphFactory
A Graph Factory provides access to consistent Graph References so that Nodes and Triples can be instantiated in the correct Graphs.
Public classGraphLiteralNode
Class for representing Graph Literal Nodes which are supported in highly expressive RDF syntaxes like Notation 3.
Public classGraphMatcher
Implements a Graph Isomorphism Algorithm.
Public classGraphPersistenceAction
Represents a Graph that is queued for persistence (added/modified/removed).
Public classGraphPersistenceWrapper
The Graph Persistence Wrapper is a wrapper around another Graph that can be used to batch persistence actions with the ability to Flush/Discard changes as desired.
Public classGraphSizeComparer
A Comparer for Graphs which compares based on number of Triples.
Public classIndexHelper Obsolete.
Helper Class for indexing related operations.
Public classLiteralExtensions
Provides extension methods for converting primitive types into appropriately typed Literal Nodes.
Public classLiteralNode
Class for representing Literal Nodes.
Public classMimeTypeDefinition
Represents the definition of a MIME Type including mappings to relevant readers and writers.
Public classMimeTypeSelector
Selector used in selecting which MIME type to use.
Public classMimeTypesHelper
Helper Class containing definitions of MIME Types for the various RDF Concrete Syntaxes and Content Negotation Methods.
Public classNamespaceMapper
Class for representing Mappings between Prefixes and Namespace URIs.
Public classNestedNamespaceMapper
A Namespace Mapper which has an explicit notion of Nesting.
Public classNodeFactory
A default implementation of a Node Factory which generates Nodes unrelated to Graphs (wherever possible we suggest using a Graph based implementation instead).
Public classNonIndexedGraph
Class for representing RDF Graphs when you don't want Indexing.
Public classNonIndexedThreadSafeGraph
A Thread Safe version of the Graph class.
Public classObjectComparer
Triple comparer which compares only on objects.
Public classObjectSubjectComparer
Triple comparer which compares on objects and then subjects.
Public classOptions
Configures Global Static Options for the Library.
Public classPersistentTripleStore
Represents an in-memory view of a triple store provided by an IStorageProvider instance where changes to the in-memory view get reflected in the persisted view.
Public classPredicateComparer
Triple comparer which compares only on predicates.
Public classPredicateObjectComparer
Triple comparer which compares on predicates and then objects.
Public classQNameMapping
Represents a mapping from a URI to a QName.
Public classQNameOutputMapper
Class for representing Mappings from URIs to QNames.
Public classQueryableGraph
Class for representing Graphs which can be directly queried using SPARQL.
Public classRdfException
Class for representing errors with RDF.
Public classStoreGraphPersistenceWrapper
The Store Graph Persistence Wrapper is a wrapper around another Graph that will be persisted to an underlying store via a provided IStorageProvider implementation.
Public classStringExtensions
A collection of cross-target extensions to the string class.
Public classSubjectComparer
Triple comparer which compares only on subjects.
Public classSubjectObjectComparer
Triple comparer which compares on subjects and then objects.
Public classSubjectPredicateComparer
Triple comparer which compares on subjects and then predicates.
Public classSubTreeIndexedTripleCollection
An indexed triple collection that uses our MultiDictionary and BinaryTree implementations under the hood for the index structures.
Public classThreadSafeGraph
A Thread Safe version of the Graph class.
Public classThreadSafeGraphCollection
Thread Safe decorator around a Graph collection.
Public classThreadSafeQNameOutputMapper
Thread Safe version of the QNameOutputMapper.
Public classThreadSafeTripleCollection
Thread Safe decorator for triple collections.
Public classThreadSafeTripleStore
A thread safe variant of TripleStore, simply a TripleStore instance with a ThreadSafeGraphCollection decorator around it's underlying BaseGraphCollection.
Public classTools
Tools class which contains a number of utility methods which are declared as static methods.
Public classTreeIndexedTripleCollection
An indexed triple collection that uses our MultiDictionary and BinaryTree implementations under the hood for the index structures.
Public classTriple
Class for representing RDF Triples in memory.
Public classTripleCollection
Basic Triple Collection which is not indexed.
Public classTripleEqualityComparer
Compares triples for equality.
Public classTripleEventArgs
Event Arguments for Events regarding the assertion and retraction of Triples.
Public classTriplePersistenceAction
Represents a Triple that is queued for persistence (either insertion/deletion).
Public classTripleStore
Class for representing Triple Stores which are collections of RDF Graphs.
Public classTripleStoreEventArgs
Event Arguments for Events regarding Graphs.
Public classTripleStoreExtensions
Provides useful Extension Methods for working with Triple Stores.
Public classTripleStorePersistenceAction
Represents an action on a Triple Store that is queued for persistence.
Public classUnionGraph
A Graph which represents the Union of several Graphs.
Public classUnionTripleCollection
Represents a union of multiple Triple Collections.
Public classUnregisteredRdfWriterTypeException
Class for errors in mapping an IRdfWriter instance to its associated MIME type for HTTP interactions.
Public classUriComparer
Equality comparer that compares URIs.
Public classUriFactory
A static helper class for interning URIs to reduce memory usage.
Public classUriNode
Class for representing URI Nodes.
Public classVariableContext
Represents the Variable Context for Triples.
Public classVariableNode
Class representing Variable Nodes (only used for N3).
Public classWebDemandGraphCollection
A decorator for graph collections where graphs not in the underlying graph collection can be loaded on-demand from the Web as needed.
Public classWebDemandTripleStore
Class for representing Triple Stores which are collections of RDF Graphs.
Public classWrapperGraph
Abstract decorator for Graphs to make it easier to layer functionality on top of existing implementations.
Public classWrapperGraphCollection
Abstract decorator for Graph Collections to make it easier to add new functionality to existing implementations.
Public classWrapperNode
Abstract decorator for Nodes to make it easier to layer functionality on top of existing implementations.
Public classWrapperTripleCollection
Abstract decorator for Triple Collections to make it easier to add additional functionality to existing collections.
Public classWrapperTripleStore
Abstract decorator for Triple Stores to make it easier to add new functionality on top of existing implementations.
Interfaces
  InterfaceDescription
Public interfaceIBlankNode
Interface for Blank Nodes.
Public interfaceIGraph
Interface for RDF Graphs.
Public interfaceIGraphLiteralNode
Interface for Graph Literal Nodes.
Public interfaceIInferencingTripleStore
Interface for Triple Stores which can have a IInferenceEngine attached to them.
Public interfaceIInMemoryQueryableStore
Interface for Triple Stores which can be queried in memory using method calls or the SPARQL implementation contained in this library.
Public interfaceILiteralNode
Interface for Literal Nodes.
Public interfaceINamespaceMapper
Interface for Namespace Maps which provide mappings between Namespace Prefixes and Namespace URIs.
Public interfaceINativelyQueryableStore
Interface for Triple Stores which can be queried natively i.e. the Stores provide their own SPARQL implementations.
Public interfaceINestedNamespaceMapper
A Namespace Mapper which has an explicit notion of Nesting.
Public interfaceINode
Interface for Nodes.
Public interfaceINodeFactory
Interface for classes which can create Nodes.
Public interfaceIObjectParserT
Interface for parsers that generate objects of some sort.
Public interfaceIRdfHandler
Interface for Handlers which handle the RDF produced by parsers.
Public interfaceIRdfReader
Interface to be implemented by RDF Readers which parse Concrete RDF Syntax.
Public interfaceIRdfWriter
Interface to be implemented by RDF Writers which generate RDF Concrete Syntax.
Public interfaceISparqlResultsHandler
Interface for Handlers which handle the SPARQL Results produced by parsers.
Public interfaceISparqlResultsReader
Interface for Reader Classes which parser Sparql Result Set syntaxes into Result Set objects.
Public interfaceISparqlResultsWriter
Interface for Writer classes which serialize Sparql Result Sets into concrete results set syntaxes.
Public interfaceIStoreReader
Interface to be implemented by Triple Store Readers.
Public interfaceIStoreWriter
Interface to be implemented by Triple Store Writers.
Public interfaceITransactionalGraph
Interface for RDF Graphs which provide Transactions i.e. changes to them can be Flushed (committed) or Discard (rolled back) as desired.
Public interfaceITransactionalStore
Interface for Triple Stores which are backed by some storage layer that may delay persistence and thus require flushing to ensure changes are persisted to the backing store, as a by product such stores will typically have some notion of transactionality.
Public interfaceITripleContext
An Interface for classes which provide Context Information for Triples thus allowing you to create Quads with arbitrary extra information attached to Triples via your Context Objects.
Public interfaceITripleStore
Interface for Triple Stores.
Public interfaceIUpdateableTripleStore
Interface for Triple Stores which support SPARQL Update as per the SPARQL 1.1 specifications.
Public interfaceIUriNode
Interface for URI Nodes.
Public interfaceIVariableNode
Interface for Variable Nodes.
Public interfaceIWrappingRdfHandler
Interface for Handlers which wrap other Handlers.
Delegates
  DelegateDescription
Public delegateCancellableGraphEventHandler
Delegate Type for Graph events raised by Graphs where event handlers may set a Cancel flag to cancel the subsequent operation.
Public delegateGraphCallback
Callback for methods that return a IGraph asynchronously.
Public delegateGraphEventHandler
Delegate Type for Graph events raised by Graphs.
Public delegateNamespaceCallback
Callback for methods that return a Namespace Map.
Public delegateNamespaceChanged
Delegate Type for the Events of the Namespace Mapper.
Public delegateNodeListCallback
Callbacks for methods that return a list of nodes.
Public delegateQueryCallback
Callbacks for methods that may process the results with either an RDF or a SPARQL Results Handler.
Public delegateRdfHandlerCallback
Callbacks for methods that process the resulting triples with an RDF Handler asynchronously.
Public delegateRdfReaderWarning
Delegate Type for Warning Messages raised by RDF Readers.
Public delegateRdfWriterWarning
Delegate Type for Warning Messages raised by RDF Writers.
Public delegateSparqlResultsCallback
Callback for methods that return a SparqlResultSet asynchronously.
Public delegateSparqlResultsHandlerCallback
Callbacks for methods that process the results with an SPARQL Results Handler asynchronously.
Public delegateSparqlWarning
Delegate Type for Warning Events raised by SPARQL Readers and Writers for Queries, Updates and Results.
Public delegateStoreReaderWarning
Delegate Type for Warning Events raised by RDF Dataset Readers.
Public delegateStoreWriterWarning
Delegate Type for Warning Events raised by RDF Dataset Writers.
Public delegateTripleEventHandler
Delegate Type for Triple events raised by Graphs.
Public delegateTripleStoreCallback
Callback for methods that return a ITripleStore asynchronously.
Public delegateTripleStoreEventHandler
Delegate Type for Triple Store events raised by Triple Stores.
Public delegateUpdateCallback
Callbacks for methods that perform SPARQL Updates.
Enumerations
  EnumerationDescription
Public enumerationGraphPersistenceActionType
Possible Types of Graph Persistence Actions.
Public enumerationLiteralEqualityMode
Possible Literal Equality Mode Settings.
Public enumerationNodeType
Node Type Values.
Public enumerationTripleIndexType
Possible Triple Index types.
Public enumerationVariableContextType
Possible Variable Context Types.