Click or drag to resize

BaseVirtualNodeTNodeID, TGraphID Class

Abstract Base implementation of a Virtual Node which is a Node that is represented only by some ID until such time as its value actually needs materialising.
Inheritance Hierarchy
SystemObject
  VDS.RDF.Storage.VirtualisationBaseVirtualNodeTNodeID, TGraphID
    VDS.RDF.Storage.VirtualisationBaseVirtualBlankNodeTNodeID, TGraphID
    VDS.RDF.Storage.VirtualisationBaseVirtualGraphLiteralNodeTNodeID, TGraphID
    VDS.RDF.Storage.VirtualisationBaseVirtualLiteralNodeTNodeID, TGraphID
    VDS.RDF.Storage.VirtualisationBaseVirtualUriNodeTNodeID, TGraphID
    VDS.RDF.Storage.VirtualisationBaseVirtualVariableNodeTNodeID, TGraphID

Namespace:  VDS.RDF.Storage.Virtualisation
Assembly:  dotNetRDF (in dotNetRDF.dll) Version:
Syntax
public abstract class BaseVirtualNode<TNodeID, TGraphID> : IVirtualNode<TNodeID, TGraphID>, 
	INode, IComparable<INode>, IComparable<IBlankNode>, 
	IComparable<IGraphLiteralNode>, IComparable<ILiteralNode>, IComparable<IUriNode>, 
	IComparable<IVariableNode>, IEquatable<INode>, IEquatable<IBlankNode>, 
	IEquatable<IGraphLiteralNode>, IEquatable<ILiteralNode>, IEquatable<IUriNode>, 
	IEquatable<IVariableNode>, ISerializable, IXmlSerializable, IEquatable<IVirtualNode<TNodeID, TGraphID>>, 
	IComparable<IVirtualNode<TNodeID, TGraphID>>, IVirtualIdComparable, IEquatable<BaseVirtualNode<TNodeID, TGraphID>>, 
	IComparable<BaseVirtualNode<TNodeID, TGraphID>>, ICanCopy

Type Parameters

TNodeID
Node ID Type.
TGraphID
Graph ID Type.

The BaseVirtualNodeTNodeID, TGraphID type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyGraph
Gets the Graph the Node belongs to.
Public propertyGraphUri
Gets/Sets the Graph URI of the Node.
Public propertyIsMaterialised
Gets whether the Nodes value has been materialised.
Public propertyMaterialisedValue
Gets the materialised value of the Node forcing it to be materialised if it hasn't already.
Public propertyNodeType
Gets the Type of the Node.
Public propertyProvider
Gets the Virtual RDF Provider of the Node.
Public propertyVirtualID
Gets the Virtual ID of the Node.
Top
Methods
  NameDescription
Public methodCompareTo(BaseVirtualNodeTNodeID, TGraphID)
Compares this Node to another Virtual Node.
Public methodCompareTo(IBlankNode)
Compares this Node to another Blank Node.
Public methodCompareTo(IGraphLiteralNode)
Compares this Node to another Graph LiteralNode.
Public methodCompareTo(ILiteralNode)
Compares this Node to another Literal Node.
Public methodCompareTo(INode)
Compares this Node to another Node.
Public methodCompareTo(IUriNode)
Compares this Node to another URI Node.
Public methodCompareTo(IVariableNode)
Compares this Node to another Variable Node.
Public methodCompareTo(IVirtualNodeTNodeID, TGraphID)
Compares this Node to another Virtual Node.
Public methodCompareVirtualId
Method to be implemented in derived classes to provide comparison of VirtualId values.
Public methodCopyNode
Copies the Virtual Node into another Graph.
Public methodEquals(Object)
Checks this Node for equality against another Object.
(Overrides ObjectEquals(Object).)
Public methodEquals(BaseVirtualNodeTNodeID, TGraphID)
Checks this Node for equality against another Virtual Node.
Public methodEquals(IBlankNode)
Checks this Node for equality against another Blank Node.
Public methodEquals(IGraphLiteralNode)
Checks this Node for equality against another Graph Literal Node.
Public methodEquals(ILiteralNode)
Checks this Node for equality against another Literal Node.
Public methodEquals(INode)
Checks this Node for equality against another Node.
Public methodEquals(IUriNode)
Checks this Node for equality against another URI Node.
Public methodEquals(IVariableNode)
Checks this Node for equality against another Variable Node.
Public methodEquals(IVirtualNodeTNodeID, TGraphID)
Checks this Node for equality against another Virtual Node.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Gets the Hash Code of the Virtual Node.
(Overrides ObjectGetHashCode.)
Public methodGetObjectData
Gets the data for serialization.
Public methodGetSchema
Gets the schema for XML serialization.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMaterialiseValue
Materialises the Value if it is not already materialised.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnMaterialise
Called after the value is materialised for the first time.
Public methodReadXml
Reads the data for XML deserialization.
Public methodToString
Gets the String representation of the Node.
(Overrides ObjectToString.)
Public methodToString(INodeFormatter)
Gets the String representation of the Node formatted with the given Node formatter.
Public methodToString(INodeFormatter, TripleSegment)
Gets the String representation of the Node formatted with the given Node formatter.
Public methodTryCompareVirtualId
Attempt to compare this node with another node.
Protected methodTryVirtualEquality
Tries to check for equality using virtual node IDs.
Public methodWriteXml
Writes the data for XML deserialization.
Top
Fields
  NameDescription
Protected field_value
The materialised value of the Virtual Node.
Top
Extension Methods
  NameDescription
Public Extension MethodAsDynamic
Dynamically wraps a node.
(Defined by DynamicExtensions.)
Public Extension MethodAsValuedNode
Takes a INode and converts it to a IValuedNode if it is not already an instance that implements the interface.
(Defined by ValuedNodeExtensions.)
Public Extension MethodCopyNode(IGraph)Overloaded.
Copies a Node to the target Graph.
(Defined by Extensions.)
Public Extension MethodCopyNode(IGraph, Boolean)Overloaded.
Copies a Node to the target Graph.
(Defined by Extensions.)
Public Extension MethodIsListRoot
Gets whether a given Node is valid as a List Root, this does not guarantee that the list itself is valid simply that the Node appears to be the root of a list.
(Defined by Extensions.)
Top
Remarks

As far as possible equality checks are carried out using these IDs and limited comparisons may also be done this way. More specific implementations may wish to derive from this class in order to override the default comparison implementation to further reduce the number of places where value materialisation is done.

Note that this class does not implement any of the specialised Node interfaces and instead relies on the casting of its materialised value to an appropriately typed node to provide the true values to code that needs it.

See Also