コード例 #1
0
        public void CreateEmptyAskQueryTest()
        {
            //Arrange
            var askQuery = new RDFAskQuery();

            //Assert
            Assert.NotEqual(0, askQuery.QueryMemberID);
        }
コード例 #2
0
        public void CreateAskQueryResultTest()
        {
            //Arrange
            var askQuery = new RDFAskQuery();

            //Act
            var askQueryResult = askQuery.ApplyToGraph(graph);

            //Assert
            Assert.False(askQueryResult.AskResult);
        }
コード例 #3
0
        public void AskQueryResultFalseTest()
        {
            //Arrange
            var y            = new RDFVariable("y");
            var askQuery     = new RDFAskQuery();
            var patternGroup = new RDFPatternGroup("PatternGroup");

            patternGroup.AddPattern(new RDFPattern(donaldduck, y, new RDFTypedLiteral("90", RDFModelEnums.RDFDatatypes.XSD_INTEGER)));
            askQuery.AddPatternGroup(patternGroup);

            //Act
            var result = askQuery.ApplyToGraph(graph);

            //Assert
            Assert.False(result.AskResult);
        }
コード例 #4
0
        /// <summary>
        /// Applies the given SPARQL ASK query to the given ontology (which is converted into
        /// a RDF graph including semantic inferences in respect of the given export behavior)
        /// </summary>
        public static RDFAskQueryResult ApplyToOntology(this RDFAskQuery askQuery,
                                                        RDFOntology ontology,
                                                        RDFSemanticsEnums.RDFOntologyInferenceExportBehavior ontologyInferenceExportBehavior = RDFSemanticsEnums.RDFOntologyInferenceExportBehavior.ModelAndData)
        {
            var result = new RDFAskQueryResult();

            if (askQuery != null)
            {
                if (ontology != null)
                {
                    RDFSemanticsEvents.RaiseSemanticsInfo(String.Format("Ontology '{0}' is going to be converted into a graph on which the SPARQL ASK query will be applied. Please, remember that if the ontology validation has raised warnings or errors, you may get unexpected query results due to inconsistent semantic inferences!", ontology.Value));

                    var ontGraph = ontology.ToRDFGraph(ontologyInferenceExportBehavior);
                    return(askQuery.ApplyToGraph(ontGraph));
                }
            }
            return(result);
        }