1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package com.ontotext.ordi.mapper.processor;
19
20 import java.util.Iterator;
21
22 import org.openrdf.model.Resource;
23 import org.openrdf.model.URI;
24 import org.openrdf.model.Value;
25
26 import com.ontotext.ordi.mapper.model.MapperDescriptor;
27 import com.ontotext.ordi.mapper.model.PredicatePattern;
28 import com.ontotext.ordi.mapper.model.RDFResultSet;
29
30 public final class Processor {
31
32 private MapperDescriptor descriptor;
33
34 public Processor(MapperDescriptor descriptor) {
35 if (descriptor == null) {
36 throw new IllegalArgumentException();
37 }
38 this.descriptor = descriptor;
39 }
40
41 public RDFResultSet evaluate(Resource subj, URI pred, Value value,
42 URI graphName) {
43 Iterator<PredicatePattern> iterator = descriptor.listPatterns()
44 .iterator();
45 RDFResultManager resultManager = new RDFResultManager();
46 while (iterator.hasNext()) {
47 PredicatePattern pattern = iterator.next();
48 pattern.execute(subj, pred, value, graphName, resultManager);
49 }
50 return new AggregateRDFResultSet(resultManager);
51 }
52 }