public PartialAnswer(questionAnswer answer) { this.questiontype = answer.questiontype; this.answerCount = answer.answerCount; this.objectUriList = answer.objectUriList; this.objectLabelList = answer.objectLabelList; }
public PartialAnswer(questionAnswer answer) { this.questiontype = answer.questiontype; this.answerCount = answer.answerCount; this.objectUriList = answer.objectUriList; this.objectLabelList = answer.objectLabelList; }
public List<questionAnswer> executeQueries(List<QueryBucket> queryBuckets) { List<questionAnswer> answers = new List<questionAnswer>(); foreach (QueryBucket queryBucket in queryBuckets) { if (queryBucket.literalOnly == false) { foreach (string queryString in queryBucket.BucketQueryList) { SparqlResultSet resultSet = QueryHandler.ExecuteQueryWithString(queryString); if (resultSet.Count > 0) { questionAnswer answer = new questionAnswer(queryBucket.QuestionType); answer.answerCount = resultSet.Results.Count(); foreach (LexiconToken token in queryBucket.tokens.Distinct<LexiconToken>()) { if (token is LexiconPredicate) { answer.predicateList.Add(token as LexiconPredicate); answer.predicateUriList.Add(token.URI, token.QuestionMatch); answer.predicateLabelList.Add(token.label, token.QuestionMatch); } else if (token is LexiconLiteral) { answer.subjectList.Add(token as LexiconLiteral); answer.subjectUriList.Add(token.URI, token.QuestionMatch); answer.subjectLabelList.Add(token.label, token.QuestionMatch); } } foreach (SparqlResult result in resultSet) { INode subjectNode = result[0]; INode objectNode = result[1]; Type resultType = objectNode.GetType(); if (answer.questiontype == util.questionTypes.literalOrURIAnswer) { if (resultType.Name == "LiteralNode") { answer.questiontype = util.questionTypes.literalAnswer; } else if (resultType.Name == "UriNode") { answer.questiontype = util.questionTypes.URIAsnwer; } } answer.objectNodetList.Add(objectNode); answer.objectUriList.Add(objectNode.ToString()); answer.objectLabelList.Add(QueryHandler.getLabelIfAny(objectNode.ToString())); } answers.Add(answer); } } } else { questionAnswer answer = new questionAnswer(); answer.objectUriList.Add(queryBucket.tokens[0].URI); answer.objectLabelList.Add(queryBucket.tokens[0].label); answer.answerCount = 1; answer.questiontype = util.questionTypes.URIAsnwer; answers.Add(answer); } } return answers; }
public List <questionAnswer> executeQueries(List <QueryBucket> queryBuckets) { List <questionAnswer> answers = new List <questionAnswer>(); foreach (QueryBucket queryBucket in queryBuckets) { if (queryBucket.literalOnly == false) { foreach (string queryString in queryBucket.BucketQueryList) { //SparqlResultSet resultSet = QueryHandler.ExecuteQueryWithString(queryString); SparqlResultSet resultSet = Request.RequestWithHTTP(queryString); if (resultSet.Count > 0) { questionAnswer answer = new questionAnswer(queryBucket.QuestionType); answer.answerCount = resultSet.Results.Count(); foreach (LexiconToken token in queryBucket.tokens.Distinct <LexiconToken>()) { if (token is LexiconPredicate) { answer.predicateList.Add(token as LexiconPredicate); answer.predicateUriList.Add(token.URI, token.QuestionMatch); answer.predicateLabelList.Add(util.getLabel(token.URI), token.QuestionMatch); } else if (token is LexiconLiteral) { answer.subjectList.Add(token as LexiconLiteral); answer.subjectUriList.Add(token.URI, token.QuestionMatch); answer.subjectLabelList.Add(util.getLabel(token.URI), token.QuestionMatch); } } foreach (SparqlResult result in resultSet) { INode subjectNode = result[0]; INode objectNode = result[1]; Type resultType = objectNode.GetType(); if (answer.questiontype == util.questionTypes.literalOrURIAnswer) { if (resultType.Name == "LiteralNode") { answer.questiontype = util.questionTypes.literalAnswer; answer.objectLabelList.Add(objectNode.ToString()); } else if (resultType.Name == "UriNode") { answer.questiontype = util.questionTypes.URIAsnwer; answer.objectLabelList.Add(util.getLabel(objectNode.ToString())); } } else { if (resultType.Name == "LiteralNode") { answer.objectLabelList.Add(objectNode.ToString()); } else if (resultType.Name == "UriNode") { answer.objectLabelList.Add(util.getLabel(objectNode.ToString())); } } answer.objectNodetList.Add(objectNode); answer.objectUriList.Add(objectNode.ToString()); } answers.Add(answer); } } } else { questionAnswer answer = new questionAnswer(); answer.objectUriList.Add(queryBucket.tokens[0].URI); answer.objectLabelList.Add(queryBucket.tokens[0].label); answer.answerCount = 1; answer.questiontype = util.questionTypes.URIAsnwer; answers.Add(answer); } } return(answers); }