private SparqlResultSet ExecuteSelect(SparqlQuery query) { var store = _store as IInMemoryQueryableStore; if (store != null) { var inMemoryQuadDataset = new InMemoryQuadDataset(store, MetaGraphUri); var processor = new LeviathanQueryProcessor(inMemoryQuadDataset); return (SparqlResultSet)processor.ProcessQuery(query); } return (SparqlResultSet)((INativelyQueryableStore)_store).ExecuteQuery(query.ToString()); }
/// <summary> /// Tries to load a SPARQL Dataset based on information from the Configuration Graph /// </summary> /// <param name="g">Configuration Graph</param> /// <param name="objNode">Object Node</param> /// <param name="targetType">Target Type</param> /// <param name="obj">Output Object</param> /// <returns></returns> public bool TryLoadObject(IGraph g, INode objNode, Type targetType, out object obj) { obj = null; INode storeNode; switch (targetType.FullName) { case InMemoryDataset: storeNode = ConfigurationLoader.GetConfigurationNode(g, objNode, ConfigurationLoader.CreateConfigurationNode(g, ConfigurationLoader.PropertyUsingStore)); if (storeNode == null) { obj = new InMemoryDataset(); } else { Object temp = ConfigurationLoader.LoadObject(g, storeNode); if (temp is IInMemoryQueryableStore) { obj = new InMemoryDataset((IInMemoryQueryableStore)temp); return true; } else { throw new DotNetRdfConfigurationException("Unable to load the In-Memory Dataset identified by the Node '" + objNode.ToString() + "' since the Object pointed to by the dnr:usingStore property could not be loaded as an object which implements the IInMemoryQueryableStore interface"); } } break; case InMemoryQuadDataset: storeNode = ConfigurationLoader.GetConfigurationNode(g, objNode, ConfigurationLoader.CreateConfigurationNode(g, ConfigurationLoader.PropertyUsingStore)); if (storeNode == null) { obj = new InMemoryQuadDataset(); } else { Object temp = ConfigurationLoader.LoadObject(g, storeNode); if (temp is IInMemoryQueryableStore) { obj = new InMemoryQuadDataset((IInMemoryQueryableStore)temp); return true; } else { throw new DotNetRdfConfigurationException("Unable to load the In-Memory Dataset identified by the Node '" + objNode.ToString() + "' since the Object pointed to by the dnr:usingStore property could not be loaded as an object which implements the IInMemoryQueryableStore interface"); } } break; } return false; }