protected virtual IUriNode addProvenance(ref IGraph targetGraph, string responsiblePerson, bool aurthorIsUri) { string fileImportUri = Common.ImportFileUriBaseString + "#" + DateTime.Now.ToString(XmlSpecsHelper.XmlSchemaDateTimeFormat) + "FileImport"; IUriNode fileParseActionNode = targetGraph.CreateUriNode(UriFactory.Create(fileImportUri)); targetGraph.Assert(fileParseActionNode, UriNodeExt.RdfType(targetGraph), targetGraph.CreateUriNode(Properties.Settings.Default.ProvActivity)); ILiteralNode startTimeNode = targetGraph.CreateLiteralNode(DateTime.Now.ToString(XmlSpecsHelper.XmlSchemaDateTimeFormat), UriFactory.Create(XmlSpecsHelper.XmlSchemaDataTypeDateTime)); targetGraph.Assert(fileParseActionNode, targetGraph.CreateUriNode(Properties.Settings.Default.ProvStartedAtTime), startTimeNode); INode aurthor = null; if (!aurthorIsUri) { aurthor = targetGraph.CreateLiteralNode(responsiblePerson);//maybe sanitise this... } else { Uri aurthorUri; if (Uri.TryCreate(responsiblePerson, UriKind.Absolute, out aurthorUri)) { aurthor = targetGraph.CreateUriNode(aurthorUri); } else { OnMessageToDisplay("Aurthors name Uri invalid", "Error", System.Windows.MessageBoxImage.Error); } } if (aurthor != null) { targetGraph.Assert(fileParseActionNode, targetGraph.CreateUriNode(Properties.Settings.Default.ProvWasAttributedTo), aurthor); } return(fileParseActionNode); }
private void populateServiceListFromGraph(IGraph sourceGraph) { NodeFactory fact = new NodeFactory(); IEnumerable <Triple> scheduledServices = sourceGraph.GetTriplesWithPredicateObject(UriNodeExt.RdfType(sourceGraph), fact.CreateUriNode(new Uri(Properties.Settings.Default.ScheduledService))); int rsSpaceTaken = RailService.RSWIDTH + RailService.RSSPACE; int nServices = scheduledServices.Count(); uint nCol = (uint)Math.Floor(this.cnvServices.ActualWidth / (rsSpaceTaken)) - 1; uint nrows = (uint)nServices / nCol; uint col = 0; uint row = 0; double cnvHeight = this.cnvServices.ActualHeight; foreach (Triple service in scheduledServices) { this.Dispatcher.Invoke(new Action(() => { addRSDisplay(sourceGraph, rsSpaceTaken, nCol, ref col, ref row, service); } )); } }