/// <summary> /// Gets the template graph used to specify the configuration of a Sesame repository. /// </summary> /// <returns>Template Graph.</returns> public override IGraph GetTemplateGraph() { IGraph g = GetBaseTemplateGraph(); INode impl = g.CreateBlankNode(); g.Assert(ContextNode, g.CreateUriNode("rep:repositoryImpl"), impl); g.Assert(impl, g.CreateUriNode("rep:repositoryType"), g.CreateLiteralNode("openrdf:SailRepository")); INode sailImpl = g.CreateBlankNode(); g.Assert(impl, g.CreateUriNode("sr:sailImpl"), sailImpl); if (DirectTypeHierarchyInferencing) { INode sailDelegate = g.CreateBlankNode(); g.Assert(sailImpl, g.CreateUriNode("sail:sailType"), g.CreateLiteralNode("openrdf:DirectTypeHierarchyInferencer")); g.Assert(sailImpl, g.CreateUriNode("sail:delegate"), sailDelegate); sailImpl = sailDelegate; } if (RdfSchemaInferencing) { INode sailDelegate = g.CreateBlankNode(); g.Assert(sailImpl, g.CreateUriNode("sail:sailType"), g.CreateLiteralNode("openrdf:ForwardChainingRDFSInferencer")); g.Assert(sailImpl, g.CreateUriNode("sail:delegate"), sailDelegate); sailImpl = sailDelegate; } g.Assert(sailImpl, g.CreateUriNode("sail:sailType"), g.CreateLiteralNode("openrdf:NativeStore")); String mode = IndexMode.ToString().ToLower(); if (mode.Contains(".")) { mode = mode.Substring(mode.LastIndexOf('.') + 1); } g.Assert(sailImpl, g.CreateUriNode("ns:tripleIndexes"), g.CreateLiteralNode(mode)); return(g); }