Class Loader
A class providing utility methods for loading RDF data from URIS.
Inheritance
Inherited Members
Namespace: VDS.RDF.Parsing
Assembly: dotNetRdf.dll
Syntax
public class Loader
Constructors
| Improve this Doc View SourceLoader()
Create a new Loader instance with a new default HTTP client.
Declaration
public Loader()
Loader(HttpClient)
Create a new Loader instance with the specified HTTP client.
Declaration
public Loader(HttpClient httpClient)
Parameters
Type | Name | Description |
---|---|---|
System.Net.Http.HttpClient | httpClient | The HTTP client instance to use. Must not be null. |
Properties
| Improve this Doc View SourceFollowRedirects
Get or set a value that indicates the Loader should follow redirection responses from the underlying HttpClient.
Declaration
public bool FollowRedirects { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Remarks
The .NET HttpClient should automatically follow redirects unless configured not to. However, we have encountered issues with the default HttpClient not following HTTPS to HTTPS redirects on commonly used endpoints like DBPedia.org.
To support easier loading from endpoints that redirect in ways that the underlying HttpClientHandler does not support the Loader class implements its own redirect following layered on top of the HttpClient redirect following.
This flag can be used to enable or disable that additional level of redirect following. It is enabled by default.
To disable all redirect following you must both disable this flag and also construct the Loader with an HttpClient instance that has been initialised with an System.Net.Http.HttpClientHandler instance with System.Net.Http.HttpClientHandler.AllowAutoRedirect set to false.
// Construct a loader that will never follow redirect responses
var loader = new Loader(new HttpClient(new HttpClientHandler { AllowAutoRedirects = false })) { FollowRedirects = false };
HttpClient
Get or set the client to use for making HTTP requests.
Declaration
public HttpClient HttpClient { get; set; }
Property Value
Type | Description |
---|---|
System.Net.Http.HttpClient |
Remarks
This property must not be set to null.
MaxRedirects
Get or set the maximum number of redirects that the Loader will follow.
Declaration
public int MaxRedirects { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
The number of redirects followed by the Loader will be in addition to any redirects followed by the underlying HttpClient. Defaults to 10.
Methods
| Improve this Doc View SourceLoadDataset(IRdfHandler, Uri, IStoreReader)
Attempts to load a RDF dataset from the given URI using a RDF Handler.
Declaration
public void LoadDataset(IRdfHandler handler, Uri uri, IStoreReader parser)
Parameters
Type | Name | Description |
---|---|---|
IRdfHandler | handler | RDF Handler to use. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDataset(ITripleStore, Uri, IStoreReader)
Attempts to load a RDF dataset from the given URI into the given Triple Store.
Declaration
public void LoadDataset(ITripleStore store, Uri uri, IStoreReader parser)
Parameters
Type | Name | Description |
---|---|---|
ITripleStore | store | Triple Store to load into. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDataset(ITripleStore, Uri)
Attempts to load a RDF dataset from the given URI into the given Triple Store.
Declaration
public void LoadDataset(ITripleStore store, Uri uri)
Parameters
Type | Name | Description |
---|---|---|
ITripleStore | store | Triple Store to load into. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
Remarks
Attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
LoadDatasetAsync(IRdfHandler, Uri, IStoreReader, CancellationToken)
Attempts to load a RDF dataset from the given URI using a RDF Handler.
Declaration
public Task LoadDatasetAsync(IRdfHandler handler, Uri uri, IStoreReader parser, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IRdfHandler | handler | RDF Handler to use. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
System.Threading.CancellationToken | cancellationToken | A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDatasetAsync(IRdfHandler, Uri, IStoreReader)
Attempts to load a RDF dataset from the given URI using a RDF Handler.
Declaration
public Task LoadDatasetAsync(IRdfHandler handler, Uri uri, IStoreReader parser)
Parameters
Type | Name | Description |
---|---|---|
IRdfHandler | handler | RDF Handler to use. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDatasetAsync(IRdfHandler, Uri)
Attempts to load a RDF dataset from the given URI using a RDF Handler.
Declaration
public Task LoadDatasetAsync(IRdfHandler handler, Uri u)
Parameters
Type | Name | Description |
---|---|---|
IRdfHandler | handler | RDF Handler to use. |
System.Uri | u | URI to attempt to get a RDF dataset from. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
Attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
LoadDatasetAsync(ITripleStore, Uri, IStoreReader, CancellationToken)
Attempts to load a RDF dataset from the given URI into the given Triple Store.
Declaration
public Task LoadDatasetAsync(ITripleStore store, Uri uri, IStoreReader parser, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
ITripleStore | store | Triple Store to load into. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
System.Threading.CancellationToken | cancellationToken | A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDatasetAsync(ITripleStore, Uri, IStoreReader)
Attempts to load a RDF dataset from the given URI into the given Triple Store.
Declaration
public Task LoadDatasetAsync(ITripleStore store, Uri uri, IStoreReader parser)
Parameters
Type | Name | Description |
---|---|---|
ITripleStore | store | Triple Store to load into. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
IStoreReader | parser | Parser to use to parse the RDF dataset. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If the parser
parameter is set to null then this method attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
If you know ahead of time the Content Type you can explicitly pass in the parser to use.
LoadDatasetAsync(ITripleStore, Uri)
Attempts to load a RDF dataset from the given URI into the given Triple Store.
Declaration
public Task LoadDatasetAsync(ITripleStore store, Uri uri)
Parameters
Type | Name | Description |
---|---|---|
ITripleStore | store | Triple Store to load into. |
System.Uri | uri | URI to attempt to get a RDF dataset from. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
Attempts to select the relevant Store Parser based on the Content Type header returned in the HTTP Response.
LoadGraph(IGraph, Uri, IRdfReader)
Load RDF data from the specified URI into the specified graph.
Declaration
public void LoadGraph(IGraph graph, Uri uri, IRdfReader parser)
Parameters
Type | Name | Description |
---|---|---|
IGraph | graph | The target graph to load RDF data into. |
System.Uri | uri | The URI of the RDF data to be loaded. |
IRdfReader | parser | The parser to use when loading data. |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
If parser
is null, the loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
If parser
is not null, then this parser will always be used regardless of the Content Type header returned by the remote server.
LoadGraph(IGraph, Uri)
Load RDF data from the specified URI into the specified graph.
Declaration
public void LoadGraph(IGraph graph, Uri uri)
Parameters
Type | Name | Description |
---|---|---|
IGraph | graph | The target graph to load RDF data into. |
System.Uri | uri | The URI of the RDF data to be loaded. |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
The loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
LoadGraphAsync(IGraph, Uri, IRdfReader, CancellationToken)
Load RDF data from the specified URI into the specified graph.
Declaration
public Task LoadGraphAsync(IGraph graph, Uri uri, IRdfReader parser, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IGraph | graph | The target graph to load RDF data into. |
System.Uri | uri | The URI of the RDF data to be loaded. |
IRdfReader | parser | The parser to use when loading data. |
System.Threading.CancellationToken | cancellationToken | A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
If parser
is null, the loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
If parser
is not null, then this parser will always be used regardless of the Content Type header returned by the remote server.
LoadGraphAsync(IGraph, Uri, IRdfReader)
Load RDF data from the specified URI into the specified graph.
Declaration
public Task LoadGraphAsync(IGraph graph, Uri uri, IRdfReader parser)
Parameters
Type | Name | Description |
---|---|---|
IGraph | graph | The target graph to load RDF data into. |
System.Uri | uri | The URI of the RDF data to be loaded. |
IRdfReader | parser | The parser to use when loading data. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
If parser
is null, the loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
If parser
is not null, then this parser will always be used regardless of the Content Type header returned by the remote server.
LoadGraphAsync(IGraph, Uri)
Load RDF data from the specified URI into the specified graph.
Declaration
public Task LoadGraphAsync(IGraph graph, Uri uri)
Parameters
Type | Name | Description |
---|---|---|
IGraph | graph | The target graph to load RDF data into. |
System.Uri | uri | The URI of the RDF data to be loaded. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
The loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
LoadGraphAsync(IRdfHandler, Uri, IRdfReader, CancellationToken)
Parse RDF data from the specified URI and pass the resulting triples to the specified handler.
Declaration
public Task LoadGraphAsync(IRdfHandler handler, Uri uri, IRdfReader parser, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IRdfHandler | handler | The handler to receive the parsed RDF triples. |
System.Uri | uri | The URI of the RDF data to be loaded. |
IRdfReader | parser | The parser to use when loading data. |
System.Threading.CancellationToken | cancellationToken | A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
If uri
is a data: URI, the DataUriLoader will be used to load the content.
If uri
is a reference to a local file, the FileLoader will be used to load the content.
Otherwise the loader will attempt to dereference the URI using the System.Net.Http.HttpClient.
If parser
is null, the loader will attempt to automatically determine the parser to be used from the Content Type header returned by the remote server (or by the file extension if the URI is a local file URI).
If parser
is not null, then this parser will always be used regardless of the Content Type header returned by the remote server.
Events
| Improve this Doc View SourceStoreWarning
Event which is raised when a store parser that is invoked by the UriLoader notices a non-fatal issue with the RDF dataset syntax
Declaration
public static event StoreReaderWarning StoreWarning
Event Type
Type | Description |
---|---|
StoreReaderWarning |
Warning
Event which is raised when a parser that is invoked by the UriLoader notices a non-fatal issue with the RDF syntax
Declaration
public static event RdfReaderWarning Warning
Event Type
Type | Description |
---|---|
RdfReaderWarning |