private VisitedPlaceDataObject MapSparqlResultToVisitedPlace(SparqlResult result, bool mapId = true) { var visitedPlace = new VisitedPlaceDataObject(); if (mapId) { visitedPlace.Id = new Guid((result.Where(r => r.Key == "VisitedPlace").Single().Value as UriNode).Uri.Fragment.TrimStart('#')); } visitedPlace.Date = DateTime.ParseExact((result.Where(r => r.Key == "Date").Single().Value as BaseLiteralNode).Value, "yyyy-MM-dd", CultureInfo.InvariantCulture); visitedPlace.Description = (result.Where(r => r.Key == "Description").Single().Value as BaseLiteralNode)?.Value; if (result.Where(r => r.Key == "PlaceOrCountry").Count() == 1) { visitedPlace.Typeofplace = (PlaceTypesEnum)Enum.Parse(typeof(PlaceTypesEnum), (result.Where(r => r.Key == "PlaceOrCountry").Single().Value as BaseLiteralNode)?.Value); } if (result.Where(r => r.Key == "CountryURI").Count() == 1) { visitedPlace.CountryURI = (result.Where(r => r.Key == "CountryURI").Single().Value as UriNode).Uri.ToString(); } if (result.Where(r => r.Key == "PlaceURI").Count() == 1) { visitedPlace.PlaceURI = (result.Where(r => r.Key == "PlaceURI").Single().Value as UriNode).Uri.ToString(); } visitedPlace.IsNew = false; visitedPlace.IsDirty = false; return(visitedPlace); }