activerdf_rules 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,95 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper'
2
-
3
- class RDFSRulebaseTest < Test::Unit::TestCase
4
- def setup
5
- ConnectionPool.clear
6
- @adapter = ConnectionPool.add_data_source :type => :redland
7
- @re = RuleEngine.new
8
- @re.rule_base = RuleEngine::RDFSRuleBase
9
- @type = Namespace.lookup(:rdf, 'type')
10
- @rdfclass = Namespace.lookup(:rdfs, 'Class')
11
- @subClassOf = Namespace.lookup(:rdfs, 'subClassOf')
12
- @property = Namespace.lookup(:rdf, 'Property')
13
- @subPropertyOf = Namespace.lookup(:rdfs, 'subPropertyOf')
14
- @range = Namespace.lookup(:rdfs, 'range')
15
- @domain = Namespace.lookup(:rdfs, 'domain')
16
-
17
- Namespace.register(:test, 'http://test.com/')
18
- end
19
-
20
- def test_type_inheritance
21
- morris = Namespace.lookup(:test, 'morris')
22
- cat = Namespace.lookup(:test, 'cat')
23
- mammal = Namespace.lookup(:test, 'mammal')
24
-
25
- @adapter.add morris, @type, cat
26
- @adapter.add cat, @subClassOf, mammal
27
-
28
- assert @re.process_rules
29
- assert morris.type.collect{|t| t.class_uri}.include?(mammal)
30
- end
31
-
32
- def test_reflexivity_sub_property
33
- prop = Namespace.lookup(:test, 'prop')
34
- @adapter.add prop, @type, @property
35
-
36
- assert @re.process_rules
37
- assert prop.subPropertyOf.include?(prop)
38
- end
39
-
40
- def test_reflexivity_sub_class
41
- c = Namespace.lookup(:test, 'class')
42
- @adapter.add c, @type, @rdfclass
43
-
44
- assert @re.process_rules
45
- assert c.subClassOf.include?(c)
46
- end
47
-
48
- def test_type_inference_domain
49
- teaches = Namespace.lookup(:test, 'teaches')
50
- teacher = Namespace.lookup(:test, 'Teacher')
51
- bob = Namespace.lookup(:test, 'Bob')
52
- scooter = Namespace.lookup(:test, 'Scooter')
53
-
54
- @adapter.add teaches, @domain, teacher
55
- @adapter.add bob, teaches, scooter
56
-
57
- assert @re.process_rules
58
- assert bob.type.collect{|t| t.class_uri}.include?(teacher)
59
- end
60
-
61
- def test_type_inference_range
62
- teaches = Namespace.lookup(:test, 'teaches')
63
- student = Namespace.lookup(:test, 'Student')
64
- bob = Namespace.lookup(:test, 'Bob')
65
- scooter = Namespace.lookup(:test, 'Scooter')
66
-
67
- @adapter.add teaches, @range, student
68
- @adapter.add bob, teaches, scooter
69
-
70
- assert @re.process_rules
71
- assert scooter.type.collect{|t| t.class_uri}.include?(student)
72
- end
73
-
74
- def test_transitivity_sub_class
75
- dog = Namespace.lookup(:test, 'Dog')
76
- mammal = Namespace.lookup(:test, 'Mammal')
77
- animal = Namespace.lookup(:test, 'Animal')
78
- @adapter.add dog, @subClassOf, mammal
79
- @adapter.add mammal, @subClassOf, animal
80
-
81
- assert @re.process_rules
82
- assert dog.subClassOf.include?(animal)
83
- end
84
-
85
- def test_transitivity_sub_property
86
- parent = Namespace.lookup(:test, 'parent')
87
- ancestor = Namespace.lookup(:test, 'ancestor')
88
- relative = Namespace.lookup(:test, 'relative')
89
- @adapter.add parent, @subPropertyOf, ancestor
90
- @adapter.add ancestor, @subPropertyOf, relative
91
-
92
- assert @re.process_rules
93
- assert parent.subPropertyOf.include?(relative)
94
- end
95
- end