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); } }
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"); }
/// <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); } }