Interface IGraph
Interface for RDF Graphs.
Inherited Members
Namespace: VDS.RDF
Assembly: dotNetRdf.dll
Syntax
public interface IGraph : INodeFactory, IDisposable, ITripleIndex, IEquatable<IGraph>
Remarks
Most implementations will probably want to inherit from the abstract class Base
Properties
| Edit this page View SourceAllNodes
Gets the unique Subject, Predicate and Object nodes of the asserted triples in the Graph.
Declaration
IEnumerable<INode> AllNodes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<INode> |
AllQuotedNodes
Gets the unique subject, predicate and object nodes of the quoted triples in the graph.
Declaration
IEnumerable<INode> AllQuotedNodes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<INode> |
IsEmpty
Gets whether a Graph is Empty.
Declaration
bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
bool |
Name
Gets the name of the graph.
Declaration
IRefNode Name { get; }
Property Value
Type | Description |
---|---|
IRef |
Remarks
The graph name May be NULL for an unnamed (default) graph.
Nodes
Gets the unique Subject and Object nodes of the Graph.
Declaration
IEnumerable<INode> Nodes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<INode> |
Remarks
This property returns only nodes that appear in the Subject or Object position in asserted triples. To retrieve a list of all INode instances in a graph including those in Predicate position in a triple, use the All
QuotedNodes
Gets the unique subject and object nodes of the quoted triples in the graph.
Declaration
IEnumerable<INode> QuotedNodes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<INode> |
QuotedTriples
Gets the quoted triples in the graph.
Declaration
IEnumerable<Triple> QuotedTriples { get; }
Property Value
Type | Description |
---|---|
IEnumerable<Triple> |
Triples
Gets the Triple Collection for the Graph.
Declaration
BaseTripleCollection Triples { get; }
Property Value
Type | Description |
---|---|
Base |
Methods
| Edit this page View SourceAssert(IEnumerable<Triple>)
Asserts an Enumerable of Triples in the Graph.
Declaration
bool Assert(IEnumerable<Triple> ts)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Triple> | ts | An Enumerable of Triples. |
Returns
Type | Description |
---|---|
bool |
Assert(Triple)
Asserts a Triple in the Graph.
Declaration
bool Assert(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | A Triple. |
Returns
Type | Description |
---|---|
bool |
Clear()
Retracts all Triples from the Graph.
Declaration
void Clear()
Remarks
The Graph should raise the Clear
ContainsQuotedTriple(Triple)
Gets whether a given triple is quoted in this graph.
Declaration
bool ContainsQuotedTriple(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | Triple to test. |
Returns
Type | Description |
---|---|
bool | True if the triple is quoted in this graph, false otherwise. |
ContainsTriple(Triple)
Gets whether a given triple is asserted in this Graph.
Declaration
bool ContainsTriple(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | Triple to test. |
Returns
Type | Description |
---|---|
bool | True if the triple is asserted in this graph, false otherwise. |
Difference(IGraph)
Calculates the difference between this Graph and the given Graph.
Declaration
GraphDiffReport Difference(IGraph g)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph. |
Returns
Type | Description |
---|---|
Graph |
Remarks
Produces a report which shows the changes that must be made to this Graph to produce the given Graph.
Equals(IGraph, out Dictionary<INode, INode>)
Checks whether a Graph is equal to another Graph and if so returns the mapping of Blank Nodes.
Declaration
bool Equals(IGraph g, out Dictionary<INode, INode> mapping)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph to compare with. |
Dictionary<INode, INode> | mapping | Mapping of Blank Nodes. |
Returns
Type | Description |
---|---|
bool |
GetBlankNode(string)
Selects the Blank Node with the given ID if it exists in the Graph, returns null otherwise.
Declaration
IBlankNode GetBlankNode(string nodeId)
Parameters
Type | Name | Description |
---|---|---|
string | nodeId | Node ID. |
Returns
Type | Description |
---|---|
IBlank |
The Node if it exists in the Graph or null. |
GetLiteralNode(string)
Selects the Literal Node with the given Value if it exists in the Graph, returns null otherwise.
Declaration
ILiteralNode GetLiteralNode(string literal)
Parameters
Type | Name | Description |
---|---|---|
string | literal | Value of the Literal. |
Returns
Type | Description |
---|---|
ILiteral |
The Node if it exists in the Graph or null. |
GetLiteralNode(string, string)
Selects the Literal Node with the given Value and Language if it exists in the Graph, returns null otherwise.
Declaration
ILiteralNode GetLiteralNode(string literal, string langspec)
Parameters
Type | Name | Description |
---|---|---|
string | literal | Value of the Literal. |
string | langspec | Language Specifier of the Literal. |
Returns
Type | Description |
---|---|
ILiteral |
The Node if it exists in the Graph or null. |
GetLiteralNode(string, Uri)
Selects the Literal Node with the given Value and DataType if it exists in the Graph, returns otherwise.
Declaration
ILiteralNode GetLiteralNode(string literal, Uri datatype)
Parameters
Returns
Type | Description |
---|---|
ILiteral |
The Node if it exists in the Graph or null. |
GetTripleNode(Triple)
Selects the Triple Node with the given Triple value if it exists in the graph.
Declaration
ITripleNode GetTripleNode(Triple triple)
Parameters
Type | Name | Description |
---|---|---|
Triple | triple | Triple. |
Returns
Type | Description |
---|---|
ITriple |
The triple node if it exists in the graph or else null. |
GetUriNode(string)
Selects the Uri Node with the given QName if it exists in the Graph, returns null otherwise.
Declaration
IUriNode GetUriNode(string qname)
Parameters
Type | Name | Description |
---|---|---|
string | qname | QName. |
Returns
Type | Description |
---|---|
IUri |
The Node if it exists in the Graph or null. |
GetUriNode(Uri)
Selects the Uri Node with the given Uri if it exists in the Graph, returns null otherwise.
Declaration
IUriNode GetUriNode(Uri uri)
Parameters
Type | Name | Description |
---|---|---|
Uri | uri | Uri. |
Returns
Type | Description |
---|---|
IUri |
The Node if it exists in the Graph or null. |
HasSubGraph(IGraph)
Checks whether this Graph has the given Graph as a sub-graph.
Declaration
bool HasSubGraph(IGraph g)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph. |
Returns
Type | Description |
---|---|
bool |
HasSubGraph(IGraph, out Dictionary<INode, INode>)
Checks whether this Graph has the given Graph as a sub-graph.
Declaration
bool HasSubGraph(IGraph g, out Dictionary<INode, INode> mapping)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph. |
Dictionary<INode, INode> | mapping | Mapping of Blank Nodes. |
Returns
Type | Description |
---|---|
bool |
IsSubGraphOf(IGraph)
Checks whether this Graph is a sub-graph of the given Graph.
Declaration
bool IsSubGraphOf(IGraph g)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph. |
Returns
Type | Description |
---|---|
bool |
IsSubGraphOf(IGraph, out Dictionary<INode, INode>)
Checks whether this Graph is a sub-graph of the given Graph.
Declaration
bool IsSubGraphOf(IGraph g, out Dictionary<INode, INode> mapping)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph. |
Dictionary<INode, INode> | mapping | Mapping of Blank Nodes. |
Returns
Type | Description |
---|---|
bool |
Merge(IGraph)
Merges the given Graph into this Graph.
Declaration
void Merge(IGraph g)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph to merge. |
Remarks
The Graph should raise the Merge
Merge(IGraph, bool)
Merges the given Graph into this Graph.
Declaration
void Merge(IGraph g, bool keepOriginalGraphUri)
Parameters
Type | Name | Description |
---|---|---|
IGraph | g | Graph to merge. |
bool | keepOriginalGraphUri | Indicates that the Merge should preserve the Graph URIs of Nodes. |
Remarks
The Graph should raise the Merge
Retract(IEnumerable<Triple>)
Retracts an Enumerable of Triples from the Graph.
Declaration
bool Retract(IEnumerable<Triple> ts)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Triple> | ts | Enumerable of Triples. |
Returns
Type | Description |
---|---|
bool |
Retract(Triple)
Retracts a Triple from the Graph.
Declaration
bool Retract(Triple t)
Parameters
Type | Name | Description |
---|---|---|
Triple | t | A Triple. |
Returns
Type | Description |
---|---|
bool |
Unstar()
Converts an graph containing quoted triples into to a graph with no quoted triples by applying the unstar operation described in https://w3c.github.io/rdf-star/cg-spec/2021-12-17.html#mapping.
Declaration
void Unstar()
Remarks
The unstar operation modifies the graph in-place by calls to Assert(Triple) an Retract(Triple).
Events
| Edit this page View SourceChanged
Event which is raised when the Graph contents change
Declaration
event GraphEventHandler Changed
Event Type
Type | Description |
---|---|
Graph |
ClearRequested
Event which is raised just before the Graph is cleared of its contents
Declaration
event CancellableGraphEventHandler ClearRequested
Event Type
Type | Description |
---|---|
Cancellable |
Cleared
Event which is raised after the Graph is cleared of its contents
Declaration
event GraphEventHandler Cleared
Event Type
Type | Description |
---|---|
Graph |
MergeRequested
Event which is raised just before a Merge operation begins on the Graph
Declaration
event CancellableGraphEventHandler MergeRequested
Event Type
Type | Description |
---|---|
Cancellable |
Merged
Event which is raised when a Merge operation is completed on the Graph
Declaration
event GraphEventHandler Merged
Event Type
Type | Description |
---|---|
Graph |
TripleAsserted
Event which is raised when a Triple is asserted in the Graph
Declaration
event TripleEventHandler TripleAsserted
Event Type
Type | Description |
---|---|
Triple |
Remarks
Whenever this event is raised the Changed event should also be raised
TripleRetracted
Event which is raised when a Triple is retracted from the Graph
Declaration
event TripleEventHandler TripleRetracted
Event Type
Type | Description |
---|---|
Triple |
Remarks
Whenever this event is raised the Changed event should also be raised