public void ParsingN3Reasoner()
        {
            String rules = "@prefix rdfs: <" + NamespaceMapper.RDFS + "> . { ?s rdfs:subClassOf ?class } => { ?s a ?class } .";

            Graph rulesGraph = new Graph();

            StringParser.Parse(rulesGraph, rules, new Notation3Parser());

            Graph data = new Graph();

            FileLoader.Load(data, "resources\\InferenceTest.ttl");

            Console.WriteLine("Original Graph - " + data.Triples.Count + " Triples");
            int origCount = data.Triples.Count;

            foreach (Triple t in data.Triples)
            {
                Console.WriteLine(t.ToString());
            }

            SimpleN3RulesReasoner reasoner = new SimpleN3RulesReasoner();

            reasoner.Initialise(rulesGraph);

            reasoner.Apply(data);

            Console.WriteLine("Graph after Reasoner application - " + data.Triples.Count + " Triples");
            foreach (Triple t in data.Triples)
            {
                Console.WriteLine(t.ToString());
            }

            Assert.True(data.Triples.Count > origCount, "Number of Triples should have increased after the reasoner was run");
        }
Ejemplo n.º 2
0
        static public void Init()
        {
            if (rs == null)
            {
                rs = new VDS.RDF.Query.Inference.SimpleN3RulesReasoner();
                var ruleGraph = LoadN3(AppDomain.CurrentDomain.BaseDirectory + "LinkedData/N3Rules/test.n3");

                rs.Initialise(ruleGraph);
            }
        }