Show / Hide Table of Contents

Class ThreadSafeGraph

A Thread Safe version of the Graph class.
Inheritance
System.Object
BaseGraph
Graph
ThreadSafeGraph
NonIndexedThreadSafeGraph
Implements
IGraph
INodeFactory
System.IDisposable
System.Xml.Serialization.IXmlSerializable
System.Runtime.Serialization.ISerializable
Inherited Members
Graph.GetTriplesWithSubjectPredicate(INode, INode)
Graph.GetTriplesWithSubjectObject(INode, INode)
Graph.GetTriplesWithPredicateObject(INode, INode)
BaseGraph._triples
BaseGraph._nsmapper
BaseGraph._baseuri
BaseGraph._bnodemapper
BaseGraph.Triples
BaseGraph.Nodes
BaseGraph.AllNodes
BaseGraph.NamespaceMap
BaseGraph.BaseUri
BaseGraph.IsEmpty
BaseGraph.Clear()
BaseGraph.CreateBlankNode()
BaseGraph.CreateBlankNode(String)
BaseGraph.CreateLiteralNode(String)
BaseGraph.CreateLiteralNode(String, String)
BaseGraph.CreateLiteralNode(String, Uri)
BaseGraph.CreateUriNode()
BaseGraph.CreateUriNode(Uri)
BaseGraph.CreateUriNode(String)
BaseGraph.CreateVariableNode(String)
BaseGraph.CreateGraphLiteralNode()
BaseGraph.CreateGraphLiteralNode(IGraph)
BaseGraph.ContainsTriple(Triple)
BaseGraph.Merge(IGraph)
BaseGraph.Merge(IGraph, Boolean)
BaseGraph.Equals(Object)
BaseGraph.Equals(IGraph, Dictionary<INode, INode>)
BaseGraph.IsSubGraphOf(IGraph)
BaseGraph.IsSubGraphOf(IGraph, Dictionary<INode, INode>)
BaseGraph.HasSubGraph(IGraph)
BaseGraph.HasSubGraph(IGraph, Dictionary<INode, INode>)
BaseGraph.Difference(IGraph)
BaseGraph.ResolveQName(String)
BaseGraph.TripleAsserted
BaseGraph.TripleRetracted
BaseGraph.Changed
BaseGraph.ClearRequested
BaseGraph.Cleared
BaseGraph.MergeRequested
BaseGraph.Merged
BaseGraph.OnTripleAsserted(Object, TripleEventArgs)
BaseGraph.RaiseTripleAsserted(TripleEventArgs)
BaseGraph.RaiseTripleAsserted(Triple)
BaseGraph.OnTripleRetracted(Object, TripleEventArgs)
BaseGraph.RaiseTripleRetracted(TripleEventArgs)
BaseGraph.RaiseTripleRetracted(Triple)
BaseGraph.RaiseGraphChanged(TripleEventArgs)
BaseGraph.RaiseGraphChanged()
BaseGraph.RaiseClearRequested()
BaseGraph.RaiseCleared()
BaseGraph.RaiseMergeRequested()
BaseGraph.RaiseMerged()
BaseGraph.AttachEventHandlers(BaseTripleCollection)
BaseGraph.DetachEventHandlers(BaseTripleCollection)
BaseGraph.GetObjectData(SerializationInfo, StreamingContext)
BaseGraph.GetSchema()
BaseGraph.ReadXml(XmlReader)
BaseGraph.WriteXml(XmlWriter)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: VDS.RDF
Assembly: dotNetRDF.dll
Syntax
public class ThreadSafeGraph : Graph, IGraph, INodeFactory, IDisposable, IXmlSerializable, ISerializable
Remarks
Performance will be marginally worse than a normal Graph but in multi-threaded scenarios this will likely be offset by the benefits of multi-threading.

Constructors

| Improve this Doc View Source

ThreadSafeGraph()

Creates a new Thread Safe Graph.
Declaration
public ThreadSafeGraph()
| Improve this Doc View Source

ThreadSafeGraph(BaseTripleCollection)

Creates a new Thread Safe graph using the given Triple Collection.
Declaration
public ThreadSafeGraph(BaseTripleCollection tripleCollection)
Parameters
Type Name Description
BaseTripleCollection tripleCollection Triple Collection.
| Improve this Doc View Source

ThreadSafeGraph(ThreadSafeTripleCollection)

Creates a new Thread Safe graph using a Thread Safe triple collection.
Declaration
public ThreadSafeGraph(ThreadSafeTripleCollection tripleCollection)
Parameters
Type Name Description
ThreadSafeTripleCollection tripleCollection Thread Safe triple collection.

Fields

| Improve this Doc View Source

_lockManager

Locking Manager for the Graph.
Declaration
protected ReaderWriterLockSlim _lockManager
Field Value
Type Description
System.Threading.ReaderWriterLockSlim

Methods

| Improve this Doc View Source

Assert(IEnumerable<Triple>)

Asserts a List of Triples in the graph.
Declaration
public override bool Assert(IEnumerable<Triple> ts)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<Triple> ts List of Triples in the form of an IEnumerable.
Returns
Type Description
System.Boolean
Overrides
Graph.Assert(IEnumerable<Triple>)
| Improve this Doc View Source

Assert(Triple)

Asserts a Triple in the Graph.
Declaration
public override bool Assert(Triple t)
Parameters
Type Name Description
Triple t The Triple to add to the Graph.
Returns
Type Description
System.Boolean
Overrides
Graph.Assert(Triple)
| Improve this Doc View Source

Dispose()

Disposes of a Graph.
Declaration
public override void Dispose()
Overrides
BaseGraph.Dispose()
| Improve this Doc View Source

GetBlankNode(String)

Returns the Blank Node with the given Identifier.
Declaration
public override IBlankNode GetBlankNode(string nodeId)
Parameters
Type Name Description
System.String nodeId The Identifier of the Blank Node to select.
Returns
Type Description
IBlankNode Either the Blank Node or null if no Node with the given Identifier exists.
Overrides
Graph.GetBlankNode(String)
| Improve this Doc View Source

GetLiteralNode(String)

Returns the LiteralNode with the given Value if it exists.
Declaration
public override ILiteralNode GetLiteralNode(string literal)
Parameters
Type Name Description
System.String literal The literal value of the Node to select.
Returns
Type Description
ILiteralNode Either the LiteralNode Or null if no Node with the given Value exists.
Overrides
Graph.GetLiteralNode(String)
Remarks
The LiteralNode in the Graph must have no Language or DataType set.
| Improve this Doc View Source

GetLiteralNode(String, String)

Returns the LiteralNode with the given Value in the given Language if it exists.
Declaration
public override ILiteralNode GetLiteralNode(string literal, string langspec)
Parameters
Type Name Description
System.String literal The literal value of the Node to select.
System.String langspec The Language Specifier for the Node to select.
Returns
Type Description
ILiteralNode Either the LiteralNode Or null if no Node with the given Value and Language Specifier exists.
Overrides
Graph.GetLiteralNode(String, String)
| Improve this Doc View Source

GetLiteralNode(String, Uri)

Returns the LiteralNode with the given Value and given Data Type if it exists.
Declaration
public override ILiteralNode GetLiteralNode(string literal, Uri datatype)
Parameters
Type Name Description
System.String literal The literal value of the Node to select.
System.Uri datatype The Uri for the Data Type of the Literal to select.
Returns
Type Description
ILiteralNode Either the LiteralNode Or null if no Node with the given Value and Data Type exists.
Overrides
Graph.GetLiteralNode(String, Uri)
| Improve this Doc View Source

GetNextBlankNodeID()

Creates a new Blank Node ID and returns it.
Declaration
public override string GetNextBlankNodeID()
Returns
Type Description
System.String
Overrides
BaseGraph.GetNextBlankNodeID()
| Improve this Doc View Source

GetTriples(Uri)

Gets all the Triples involving the given Uri.
Declaration
public override IEnumerable<Triple> GetTriples(Uri uri)
Parameters
Type Name Description
System.Uri uri The Uri to find Triples involving.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriples(Uri)
| Improve this Doc View Source

GetTriples(INode)

Gets all the Triples involving the given Node.
Declaration
public override IEnumerable<Triple> GetTriples(INode n)
Parameters
Type Name Description
INode n The Node to find Triples involving.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriples(INode)
| Improve this Doc View Source

GetTriplesWithObject(Uri)

Gets all the Triples with the given Uri as the Object.
Declaration
public override IEnumerable<Triple> GetTriplesWithObject(Uri u)
Parameters
Type Name Description
System.Uri u The Uri to find Triples with it as the Object.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriplesWithObject(Uri)
| Improve this Doc View Source

GetTriplesWithObject(INode)

Gets all the Triples with the given Node as the Object.
Declaration
public override IEnumerable<Triple> GetTriplesWithObject(INode n)
Parameters
Type Name Description
INode n The Node to find Triples with it as the Object.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple>
Overrides
Graph.GetTriplesWithObject(INode)
| Improve this Doc View Source

GetTriplesWithPredicate(Uri)

Gets all the Triples with the given Uri as the Predicate.
Declaration
public override IEnumerable<Triple> GetTriplesWithPredicate(Uri u)
Parameters
Type Name Description
System.Uri u The Uri to find Triples with it as the Predicate.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriplesWithPredicate(Uri)
| Improve this Doc View Source

GetTriplesWithPredicate(INode)

Gets all the Triples with the given Node as the Predicate.
Declaration
public override IEnumerable<Triple> GetTriplesWithPredicate(INode n)
Parameters
Type Name Description
INode n The Node to find Triples with it as the Predicate.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple>
Overrides
Graph.GetTriplesWithPredicate(INode)
| Improve this Doc View Source

GetTriplesWithSubject(Uri)

Gets all the Triples with the given Uri as the Subject.
Declaration
public override IEnumerable<Triple> GetTriplesWithSubject(Uri u)
Parameters
Type Name Description
System.Uri u The Uri to find Triples with it as the Subject.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriplesWithSubject(Uri)
| Improve this Doc View Source

GetTriplesWithSubject(INode)

Gets all the Triples with the given Node as the Subject.
Declaration
public override IEnumerable<Triple> GetTriplesWithSubject(INode n)
Parameters
Type Name Description
INode n The Node to find Triples with it as the Subject.
Returns
Type Description
System.Collections.Generic.IEnumerable<Triple> Zero/More Triples.
Overrides
Graph.GetTriplesWithSubject(INode)
| Improve this Doc View Source

GetUriNode(String)

Returns the UriNode with the given QName if it exists.
Declaration
public override IUriNode GetUriNode(string qname)
Parameters
Type Name Description
System.String qname The QName of the Node to select.
Returns
Type Description
IUriNode
Overrides
Graph.GetUriNode(String)
| Improve this Doc View Source

GetUriNode(Uri)

Returns the UriNode with the given Uri if it exists.
Declaration
public override IUriNode GetUriNode(Uri uri)
Parameters
Type Name Description
System.Uri uri The Uri of the Node to select.
Returns
Type Description
IUriNode Either the UriNode Or null if no Node with the given Uri exists.
Overrides
Graph.GetUriNode(Uri)
| Improve this Doc View Source

Retract(IEnumerable<Triple>)

Retracts a enumeration of Triples from the graph.
Declaration
public override bool Retract(IEnumerable<Triple> ts)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<Triple> ts Enumeration of Triples to retract.
Returns
Type Description
System.Boolean
Overrides
Graph.Retract(IEnumerable<Triple>)
| Improve this Doc View Source

Retract(Triple)

Retracts a Triple from the Graph.
Declaration
public override bool Retract(Triple t)
Parameters
Type Name Description
Triple t Triple to Retract.
Returns
Type Description
System.Boolean
Overrides
Graph.Retract(Triple)
Remarks
Current implementation may have some defunct Nodes left in the Graph as only the Triple is retracted.

Implements

IGraph
INodeFactory
System.IDisposable
System.Xml.Serialization.IXmlSerializable
System.Runtime.Serialization.ISerializable

Extension Methods

GraphExtensions.ToDataTable(IGraph)
Extensions.AsEnumerable<T>(T)
Extensions.Assert(IGraph, INode, INode, INode)
Extensions.Retract(IGraph, INode, INode, INode)
Extensions.AssertList<T>(IGraph, IEnumerable<T>, Func<T, INode>)
Extensions.AssertList<T>(IGraph, INode, IEnumerable<T>, Func<T, INode>)
Extensions.AssertList(IGraph, IEnumerable<INode>)
Extensions.AssertList(IGraph, INode, IEnumerable<INode>)
Extensions.GetListAsTriples(IGraph, INode)
Extensions.GetListItems(IGraph, INode)
Extensions.GetListNodes(IGraph, INode)
Extensions.RetractList(IGraph, INode)
Extensions.AddToList<T>(IGraph, INode, IEnumerable<T>, Func<T, INode>)
Extensions.AddToList(IGraph, INode, IEnumerable<INode>)
Extensions.RemoveFromList<T>(IGraph, INode, IEnumerable<T>, Func<T, INode>)
Extensions.RemoveFromList(IGraph, INode, IEnumerable<INode>)
GraphExtensions.ExecuteQuery(IGraph, String)
GraphExtensions.ExecuteQuery(IGraph, IRdfHandler, ISparqlResultsHandler, String)
GraphExtensions.ExecuteQuery(IGraph, SparqlParameterizedString)
GraphExtensions.ExecuteQuery(IGraph, IRdfHandler, ISparqlResultsHandler, SparqlParameterizedString)
GraphExtensions.ExecuteQuery(IGraph, SparqlQuery)
GraphExtensions.ExecuteQuery(IGraph, IRdfHandler, ISparqlResultsHandler, SparqlQuery)
GraphExtensions.LoadFromFile(IGraph, String, IRdfReader)
GraphExtensions.LoadFromFile(IGraph, String)
GraphExtensions.LoadFromUri(IGraph, Uri, IRdfReader)
GraphExtensions.LoadFromUri(IGraph, Uri)
GraphExtensions.LoadFromString(IGraph, String, IRdfReader)
GraphExtensions.LoadFromString(IGraph, String)
GraphExtensions.LoadFromEmbeddedResource(IGraph, String)
GraphExtensions.LoadFromEmbeddedResource(IGraph, String, IRdfReader)
GraphExtensions.SaveToFile(IGraph, String, IRdfWriter)
GraphExtensions.SaveToFile(IGraph, String, IStoreWriter)
GraphExtensions.SaveToFile(IGraph, String)
GraphExtensions.SaveToStream(IGraph, TextWriter, IRdfWriter)
GraphExtensions.SaveToStream(IGraph, TextWriter, IStoreWriter)
GraphExtensions.SaveToStream(IGraph, String, TextWriter)
DynamicExtensions.AsDynamic(IGraph, Uri, Uri)
  • Improve this Doc
  • View Source
In This Article
  • Constructors
    • ThreadSafeGraph()
    • ThreadSafeGraph(BaseTripleCollection)
    • ThreadSafeGraph(ThreadSafeTripleCollection)
  • Fields
    • _lockManager
  • Methods
    • Assert(IEnumerable<Triple>)
    • Assert(Triple)
    • Dispose()
    • GetBlankNode(String)
    • GetLiteralNode(String)
    • GetLiteralNode(String, String)
    • GetLiteralNode(String, Uri)
    • GetNextBlankNodeID()
    • GetTriples(Uri)
    • GetTriples(INode)
    • GetTriplesWithObject(Uri)
    • GetTriplesWithObject(INode)
    • GetTriplesWithPredicate(Uri)
    • GetTriplesWithPredicate(INode)
    • GetTriplesWithSubject(Uri)
    • GetTriplesWithSubject(INode)
    • GetUriNode(String)
    • GetUriNode(Uri)
    • Retract(IEnumerable<Triple>)
    • Retract(Triple)
  • Implements
  • Extension Methods
Back to top Generated by DocFX