Click or drag to resize

IVirtualRdfProviderTNodeID, TGraphID Interface

A Virtual RDF Provider is a provider that transforms materialised values into virtual ID values. These virtual values can be used to do much faster term equality checking and to minimise memory usage when accessing out of memory data.

Namespace:  VDS.RDF.Storage.Virtualisation
Assembly:  dotNetRDF (in dotNetRDF.dll) Version:
Syntax
public interface IVirtualRdfProvider<TNodeID, TGraphID>

Type Parameters

TNodeID
Node ID Type.
TGraphID
Graph ID Type.

The IVirtualRdfProviderTNodeID, TGraphID type exposes the following members.

Properties
  NameDescription
Public propertyNullID
Gets the Node ID that is used to indicate that a Node does not exist in the underlying storage.
Top
Methods
  NameDescription
Public methodGetBlankNodeID(IBlankNode)
Given a Blank Node returns a Graph scoped Node ID.
Public methodGetBlankNodeID(IBlankNode, Boolean)
Given a Blank Node returns a Graph scoped Node ID.
Public methodGetGraphID(Uri)
Gets the Graph ID for a Graph URI.
Public methodGetGraphID(IGraph)
Gets the Graph ID for a Graph.
Public methodGetGraphID(Uri, Boolean)
Gets the Graph ID for a Graph URI.
Public methodGetGraphID(IGraph, Boolean)
Gets the Graph ID for a Graph creating it if necessary.
Public methodGetGraphUri
Given a Graph ID returns the value of the Graph URI.
Public methodGetID(INode)
Given a non-blank Node returns the Node ID.
Public methodGetID(INode, Boolean)
Given a non-blank Node returns the Node ID.
Public methodGetValue
Given a Node ID returns the materialised value in the given Graph.
Public methodLoadGraphVirtual
Loads a Graph creating all the Triples with virtual node values.
Top
Remarks

An implementation of this is typically in addition to a more general RDF store implementation (such as an IStorageProvider) and was originally designed and intended for use in creating ISparqlDataset instances which allow out of memory data to be queried more efficiently.

It is expected that most implementations will use a cache to ensure that repeated transformations are as fast as possible.

Important Note re: Blank Nodes

In order for code that uses this class to function correctly it must be ensured that IDs issued for Blank Nodes are graph scoped, as such a specific method for converting Blank Nodes into Virtual Node IDs is given.

See Also