Class ThreadSafeTripleCollection
Thread Safe decorator for triple collections.
Implements
Inherited Members
Namespace: VDS.RDF
Assembly: dotNetRdf.dll
Syntax
public class ThreadSafeTripleCollection : WrapperTripleCollection, IEnumerable<Triple>, IEnumerable, IDisposable
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Constructors
| Improve this Doc View SourceThreadSafeTripleCollection()
Creates a new thread safe triple collection which wraps a new instance of the default unindexed TripleCollection.
Declaration
public ThreadSafeTripleCollection()
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
ThreadSafeTripleCollection(BaseTripleCollection)
Creates a new thread safe triple collection which wraps the provided triple collection.
Declaration
public ThreadSafeTripleCollection(BaseTripleCollection tripleCollection)
Parameters
Type | Name | Description |
---|---|---|
BaseTripleCollection | tripleCollection | Triple Collection. |
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Properties
| Improve this Doc View SourceAsserted
Gets the triples that are asserted in the collection.
Declaration
public override IEnumerable<Triple> Asserted { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
This returns the same set of triples as the enumerator on this class, but as an System.Collections.Generic.IEnumerable<T> instance.
Count
Gets the Number of Triples in the Triple Collection.
Declaration
public override int Count { get; }
Property Value
Type | Description |
---|---|
int |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
this[Triple]
Gets the original instance of a specific Triple from the Triple Collection.
Declaration
public override Triple this[Triple t] { get; }
Parameters
Type | Name | Description |
---|---|---|
Triple | t | Triple. |
Property Value
Type | Description |
---|---|
Triple |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
ObjectNodes
Gets all the Nodes which are Objects of Triples in the Triple Collectio.
Declaration
public override IEnumerable<INode> ObjectNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
PredicateNodes
Gets all the Nodes which are Predicates of Triples in the Triple Collection.
Declaration
public override IEnumerable<INode> PredicateNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Quoted
Gets the triples that are quoted in the collection.
Declaration
public override IEnumerable<Triple> Quoted { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
QuotedCount
Gets the number of quoted triples in the triple collection.
Declaration
public override int QuotedCount { get; }
Property Value
Type | Description |
---|---|
int |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
QuotedObjectNodes
Gets all the nodes which are subjects of quoted triples in the triple collection.
Declaration
public override IEnumerable<INode> QuotedObjectNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
QuotedPredicateNodes
Gets all the nodes which are predicates of quoted triples in the triple collection.
Declaration
public override IEnumerable<INode> QuotedPredicateNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
QuotedSubjectNodes
Gets all the nodes which are objects of quoted triples in the triple collection.
Declaration
public override IEnumerable<INode> QuotedSubjectNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
SubjectNodes
Gets all the Nodes which are Subjects of Triples in the Triple Collection.
Declaration
public override IEnumerable<INode> SubjectNodes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><INode> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Methods
| Improve this Doc View SourceAdd(Triple)
Adds a Triple to the Collection.
Declaration
protected override bool Add(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | Triple to add. |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Contains(Triple)
Determines whether a given Triple is in the Triple Collection.
Declaration
public override bool Contains(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | The Triple to test. |
Returns
Type | Description |
---|---|
System.Boolean | True if the Triple already exists in the Triple Collection. |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
ContainsQuoted(Triple)
Determines whether a given triple is quoted by a triple node of a triple in the collection.
Declaration
public override bool ContainsQuoted(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | The triple to test. |
Returns
Type | Description |
---|---|
System.Boolean | True if the triple is quoted in the triple collection, false otherwise. |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
Delete(Triple)
Deletes a Triple from the Collection.
Declaration
protected override bool Delete(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | Triple to remove. |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
Remarks
Deleting something that doesn't exist has no effect and gives no error.
Dispose()
Disposes of a Triple Collection.
Declaration
public override void Dispose()
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
EnterReadLock()
Enters the read lock.
Declaration
protected void EnterReadLock()
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
EnterWriteLock()
Enters the write lock.
Declaration
protected void EnterWriteLock()
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
ExitReadLock()
Exists the read lock.
Declaration
protected void ExitReadLock()
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
ExitWriteLock()
Exists the write lock.
Declaration
protected void ExitWriteLock()
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
GetEnumerator()
Gets the Enumerator for the Collection.
Declaration
public override IEnumerator<Triple> GetEnumerator()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerator<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithObject(INode)
Gets all triples with the given Object.
Declaration
public override IEnumerable<Triple> WithObject(INode obj)
Parameters
Type | Name | Description |
---|---|---|
INode | obj | Object. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithPredicate(INode)
Gets all triples with the given predicate.
Declaration
public override IEnumerable<Triple> WithPredicate(INode pred)
Parameters
Type | Name | Description |
---|---|---|
INode | pred | Predicate. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithPredicateObject(INode, INode)
Gets all triples with the given predicate object.
Declaration
public override IEnumerable<Triple> WithPredicateObject(INode pred, INode obj)
Parameters
Type | Name | Description |
---|---|---|
INode | pred | Predicate. |
INode | obj | Object. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithSubject(INode)
Gets all the triples with the given subject.
Declaration
public override IEnumerable<Triple> WithSubject(INode subj)
Parameters
Type | Name | Description |
---|---|---|
INode | subj | Subject. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithSubjectObject(INode, INode)
Gets all the triples with the given subject and object.
Declaration
public override IEnumerable<Triple> WithSubjectObject(INode subj, INode obj)
Parameters
Type | Name | Description |
---|---|---|
INode | subj | Subject. |
INode | obj | Object. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.
WithSubjectPredicate(INode, INode)
Gets all triples with the given subject and predicate.
Declaration
public override IEnumerable<Triple> WithSubjectPredicate(INode subj, INode pred)
Parameters
Type | Name | Description |
---|---|---|
INode | subj | Subject. |
INode | pred | Predicate. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<T><Triple> |
Overrides
Remarks
Depending on the platform this either uses System.Threading.ReaderWriterLockSlim to provide MRSW concurrency or it uses System.Threading.Monitor to provide exclusive access concurrency, either way usage is thread safe.