Ejemplo n.º 1
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);
            }
        }
        /// <summary>
        /// Runs the Second Pass Alignment rules in N3 format using a Reasoner
        /// </summary>
        public void MyLoFacebookAlignment02()
        {
            Graph rules = new Graph();
            try
            {
                FileLoader.Load(rules, @"../../../MyLoFacebookAlignmentRules02.n3");
            }
            catch (RdfParseException parseEx)
            {
                Debug.WriteLine("Parser Error - reading MyLoFacebookAlignmentRules02.n3");
                Debug.WriteLine(parseEx.Message);
            }
            catch (RdfException rdfEx)
            {
                Debug.WriteLine("RDF Error - reading MyLoFacebookAlignmentRules02.n3");
                Debug.WriteLine(rdfEx.Message);
            }

            SimpleN3RulesReasoner rulesReasoner = new SimpleN3RulesReasoner();
            try
            {
                rulesReasoner.Initialise(rules);
                foreach (IGraph g in _store.Graphs)
                {
                    rulesReasoner.Apply(g);
                }
            }
            catch (Exception rdfEx)
            {
                Debug.WriteLine("Rules Error - applying MyLoFacebookAlignmentRules02");
                Debug.WriteLine(rdfEx.Message);
            }
        }
Ejemplo n.º 3
0
        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, "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.IsTrue(data.Triples.Count > origCount, "Number of Triples should have increased after the reasoner was run");
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Runs the Alignment rules in N3 format using a Reasoner
        /// </summary>
        public void MyLoFacebookAlignment()
        {
            Graph rules = new Graph();
            try
            {
                FileLoader.Load(rules, @"../../../MyLoFacebookAlignmentRules.n3");
            }
            catch (RdfParseException parseEx)
            {
                Console.WriteLine("Parser Error - reading MyLoFacebookAlignmentRules.n3");
                Console.WriteLine(parseEx.Message);
            }
            catch (RdfException rdfEx)
            {
                Console.WriteLine("RDF Error - reading MyLoFacebookAlignmentRules.n3");
                Console.WriteLine(rdfEx.Message);
            }

            SimpleN3RulesReasoner rulesReasoner = new SimpleN3RulesReasoner();
            try
            {
                rulesReasoner.Initialise(rules);
                rulesReasoner.Apply(_g);
            }
            catch (Exception rdfEx)
            {
                Console.WriteLine("Rules Error - applying MyLoFacebookAlignmentRules");
                Console.WriteLine(rdfEx.Message);
            }
        }