Как я могу подключить свою базу данных, используя LINQtoSPARQL для написания сервисов на основе linq? - PullRequest
0 голосов
/ 12 декабря 2018

Ниже приведен код класса TestDataProvider в LINQtoSPARQL ( githublinkk ).Здесь данные берутся из строки или файла.

namespace LINQtoSPARQLSpace.Tests
{
public static class TestDataProvider
{
    public static ISPARQLQueryable<T> GetQuerable<T>(string data, 
        bool autoquotation = true, 
        bool treatUri = true,
        IEnumerable<Prefix> prefixes = null,
        bool skipTriplesWithEmptyObject = false,
        bool mindAsterisk = false,
        bool useStore = false,
        string defaultGraphUri = "http://test.org/defaultgraph")
    {
        DynamicSPARQLSpace.dotNetRDF.Connector connector = null;

        if (useStore)
        {
            var store = new VDS.RDF.TripleStore();
            store.LoadFromString(data);
            connector = new Connector(new InMemoryDataset(store, new Uri(defaultGraphUri)));

        }
        else
        {
            var graph = new VDS.RDF.Graph();
            graph.LoadFromFile(data);
            connector = new Connector(new InMemoryDataset(graph));
        }


        dynamic dyno = DynamicSPARQL.CreateDyno(connector.GetQueryingFunction(), 
            updateFunc: connector.GetUpdateFunction(),
            autoquotation: autoquotation,
            treatUri: treatUri,
            prefixes:prefixes,
            skipTriplesWithEmptyObject:skipTriplesWithEmptyObject,
            mindAsterisk:mindAsterisk);

        return new SPARQLQuery<T>(dyno);
    }
}
}

Теперь я хочу подключить свою базу данных (GraphTB ontext).сейчас я могу подключить свою базу данных с помощью следующих строк:

Options.ForceHttpBasicAuth = true;
var store2 = new VDS.RDF.Query.SparqlRemoteEndpoint(new Uri("http://localhost:7200/repositories/786"));      
store2.SetCredentials("admin", "admin");

Теперь, как я могу передать этот объект SparqlRemoteEndpoint объекту класса Connector?Собираюсь ли я правильно подключиться?

Пожалуйста, помогите.

...