public void Infer(EntailmentRegime entailmentRegime = EntailmentRegime.RDFS) { foreach (var rule in GetRulesForRegime(entailmentRegime, GetType().Assembly)) { if (!string.IsNullOrWhiteSpace(rule)) { var sps = new SparqlParameterizedString(rule); var parser = new SparqlUpdateParser(); var query = parser.ParseFromString(sps); query.Process(_updateProcessor); } } }
public IEnumerable <string> GetRulesForRegime(EntailmentRegime entailmentRegime, Assembly asm) { List <string> resources = new List <string>(asm.GetManifestResourceNames()); resources.Sort(); foreach (var ruleFile in resources) { switch (entailmentRegime) { case EntailmentRegime.RDFS when ruleFile.Contains("rdfs_rules"): yield return(ReadResource(ruleFile, asm)); break; case EntailmentRegime.OWL2_EL when ruleFile.Contains("owl2_schema") || ruleFile.Contains("owl2_properties"): yield return(ReadResource(ruleFile, asm)); break; case EntailmentRegime.OWL2_QL when ruleFile.Contains("owl2_class"): yield return(ReadResource(ruleFile, asm)); break; case EntailmentRegime.OWL2_RL when ruleFile.Contains("owl2_class"): yield return(ReadResource(ruleFile, asm)); break; case EntailmentRegime.OWL2_FULL when ruleFile.Contains("owl2_"): yield return(ReadResource(ruleFile, asm)); break; default: break; } } }