private static void Main(string[] args) { //Calls Luis and create Luis Object LuisJsonModel luisJson = Utitlities.CallLuis(); //Returns SPARQL Query using the Luis object string sparqlQuery = Utitlities.ExtractLuisData(luisJson); Console.WriteLine(sparqlQuery); Console.ReadLine(); }
public static string ExtractLuisData(LuisJsonModel luisJson) { int numberOfItems = 0; string genre = String.Empty; int year = 0; string exactDate = String.Empty; foreach (var i in luisJson.Entities) { switch (i.Type) { case "builtin.number": if (int.TryParse(i.Resolution.Value, out int number)) { if (number < 1000) { numberOfItems = number; } } break; case "genre": genre = i.entity; break; case "builtin.datetime.date": if (DateTime.TryParse(i.entity, out DateTime exactDateTime)) { exactDate = exactDateTime.ToString(); } else if (int.TryParse(i.entity, out int yearDateTime) && (i.entity.Length == 4)) { year = yearDateTime; } break; } } return(CreateSparqlQuery(numberOfItems, genre, year, exactDate)); }