File: KnowledgeModel.cs

package info (click to toggle)
beagle 0.2.12-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 12,204 kB
  • ctags: 16,188
  • sloc: cs: 91,628; sh: 27,627; ansic: 10,646; makefile: 2,248; xml: 15
file content (71 lines) | stat: -rw-r--r-- 1,979 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections;
using System.IO;
using System.Text;

using SemWeb;
using SemWeb.Reasoning;

namespace SemWeb.Stores {

	public class KnowledgeModel : Store {
		
		SemWeb.Stores.MultiStore stores;
		Store mainstore;
		
		public KnowledgeModel() {
			stores = new SemWeb.Stores.MultiStore();
			mainstore = stores;
		}
		
		public KnowledgeModel(RdfReader parser) : this() {
			stores.Add(new MemoryStore(parser));
		}

		public SemWeb.Stores.MultiStore Storage { get { return stores; } }
		
		public void Add(Store storage) {
			Storage.Add(storage);
		}
		
		public void AddReasoning(ReasoningEngine engine) {
			mainstore = new InferenceStore(mainstore, engine);
		}
		
		public override Entity[] GetAllEntities() { return stores.GetAllEntities(); }
		
		public override Entity[] GetAllPredicates() { return stores.GetAllPredicates(); }
		
		public override bool Contains(Statement statement) {
			return mainstore.Contains(statement);
		}
		
		public override void Select(Statement template, SelectPartialFilter partialFilter, StatementSink result) {
			mainstore.Select(template, partialFilter, result);
		}
		
		public override void Select(Statement[] templates, SelectPartialFilter partialFilter, StatementSink result) {
			mainstore.Select(templates, partialFilter, result);
		}

		public override int StatementCount { get { return stores.StatementCount; } }

		public override void Clear() { throw new InvalidOperationException(); }
		public override void Add(Statement statement) { throw new InvalidOperationException(); }
		public override void Remove(Statement statement) { throw new InvalidOperationException(); }
		
		public override void Replace(Entity a, Entity b) {
			mainstore.Replace(a, b);
		}
		
		public override void Replace(Statement find, Statement replacement) {
			mainstore.Replace(find, replacement);
		}
		
		public override Entity[] FindEntities(Statement[] filters) {
			return mainstore.FindEntities(filters);
		}
	}

		
}