rtm 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +38 -3
- data/lib/rtm.rb +25 -47
- data/lib/rtm/axes.rb +7 -4
- data/lib/rtm/axes/association.rb +1 -1
- data/lib/rtm/axes/associations.rb +1 -1
- data/lib/rtm/axes/characteristic.rb +1 -1
- data/lib/rtm/axes/characteristics.rb +1 -1
- data/lib/rtm/axes/topic.rb +3 -3
- data/lib/rtm/axes/topics.rb +3 -3
- data/lib/rtm/engine.rb +48 -5
- data/lib/rtm/extensions.rb +58 -8
- data/lib/rtm/io.rb +2 -1
- data/lib/rtm/io/tmapix_from.rb +155 -0
- data/lib/rtm/io/tmapix_to.rb +223 -0
- data/lib/rtm/io/to_hash.rb +79 -41
- data/lib/rtm/io/to_jtm.rb +1 -1
- data/lib/rtm/io/to_rdf.rb +20 -5
- data/lib/rtm/io/to_string.rb +13 -2
- data/lib/rtm/io/to_yaml.rb +39 -11
- data/lib/rtm/navigation.rb +1 -15
- data/lib/rtm/navigation/association/players.rb +1 -1
- data/lib/rtm/navigation/name/characteristics.rb +1 -1
- data/lib/rtm/navigation/occurrence/characteristics.rb +1 -1
- data/lib/rtm/navigation/topic/characteristics.rb +1 -1
- data/lib/rtm/navigation/topic/players.rb +1 -1
- data/lib/rtm/navigation/topic/supertypes.rb +21 -17
- data/lib/rtm/navigation/topic/traverse.rb +1 -1
- data/lib/rtm/navigation/topic/types.rb +6 -4
- data/lib/rtm/psi.rb +6 -0
- data/lib/rtm/sugar.rb +42 -29
- data/lib/rtm/sugar/association/hash_access.rb +3 -3
- data/lib/rtm/sugar/occurrence/dynamic_value.rb +39 -56
- data/lib/rtm/sugar/occurrence/external.rb +53 -0
- data/lib/rtm/sugar/reifiable/reifier.rb +21 -0
- data/lib/rtm/sugar/role/counterparts.rb +12 -6
- data/lib/rtm/sugar/topic/best_name.rb +74 -0
- data/lib/rtm/sugar/topic/characteristics.rb +10 -10
- data/lib/rtm/sugar/topic/counterparts.rb +131 -119
- data/lib/rtm/sugar/topic/scoped.rb +102 -53
- data/lib/rtm/sugar/topic/topic_ref.rb +63 -12
- data/lib/rtm/sugar/topic/typed.rb +50 -2
- data/lib/rtm/sugar/topic_map/query_cache.rb +66 -0
- data/lib/rtm/sugar/topic_map/themes.rb +53 -0
- data/lib/rtm/sugar/typed/types.rb +1 -1
- data/lib/rtm/validation.rb +2 -2
- data/lib/rtm/version.rb +18 -6
- data/spec/rtm/axes/string_spec.rb +7 -7
- data/spec/rtm/axes/strings_spec.rb +10 -10
- data/spec/rtm/io/tmapix_from_spec.rb +76 -0
- data/spec/rtm/io/tmapix_to_spec.rb +159 -0
- data/spec/rtm/io/to_hash_spec.rb +90 -0
- data/spec/rtm/io/to_rdf_spec.rb +37 -0
- data/spec/rtm/io/to_string_spec.rb +122 -0
- data/spec/rtm/io/to_yaml_spec.rb +89 -0
- data/spec/rtm/sugar/occurrence/dynamic_value_spec.rb +156 -1
- data/spec/rtm/sugar/occurrence/external_spec.rb +129 -0
- data/spec/rtm/sugar/reifiable/reifier_spec.rb +41 -0
- data/spec/rtm/sugar/role/counterparts_spec.rb +174 -172
- data/spec/rtm/sugar/topic/best_name_spec.rb +25 -0
- data/spec/rtm/sugar/topic/characteristics_spec.rb +20 -5
- data/spec/rtm/sugar/topic/counterparts_spec.rb +41 -1
- data/spec/rtm/sugar/topic/hash_access_spec.rb +1 -1
- data/spec/rtm/sugar/topic/scoped_spec.rb +178 -114
- data/spec/rtm/sugar/topic/topic_ref_spec.rb +10 -10
- data/spec/rtm/sugar/topic/typed_spec.rb +196 -134
- data/spec/rtm/sugar/topic_map/themes_spec.rb +67 -0
- data/spec/rtm/sugar/typed/types_spec.rb +1 -1
- data/spec/rtm/tmapi/core/association_spec.rb +2 -2
- data/spec/rtm/tmapi/core/datatype_aware_spec.rb +236 -0
- data/spec/rtm/tmapi/core/name_spec.rb +186 -1
- data/spec/rtm/tmapi/core/occurrence_spec.rb +24 -67
- data/spec/rtm/tmapi/core/reifiable_spec.rb +2 -2
- data/spec/rtm/tmapi/core/scoped_spec.rb +40 -2
- data/spec/rtm/tmapi/core/topic_map_spec.rb +98 -30
- data/spec/rtm/tmapi/core/topic_spec.rb +558 -82
- data/spec/rtm/tmapi/core/variant_spec.rb +3 -3
- data/spec/rtm_spec.rb +0 -1
- data/spec/spec_helper.rb +7 -2
- data/test/javalibs/junit-4.5.jar +0 -0
- data/test/javalibs/tmapi-2.0-tests.jar +0 -0
- data/test/tmapi_tests.rb +25 -0
- metadata +66 -11
- data/lib/rtm/io/ontopia_io.rb +0 -25
- data/lib/rtm/io/tmapix.rb +0 -234
- data/lib/rtm/sugar/occurrence/externalize.rb +0 -31
- data/spec/rtm/io/tmapix_spec.rb +0 -85
- data/test/base_unit_test.rb +0 -161
- data/test/base_unit_test_tmapi.rb +0 -165
data/lib/rtm/io/to_jtm.rb
CHANGED
data/lib/rtm/io/to_rdf.rb
CHANGED
@@ -1,21 +1,36 @@
|
|
1
1
|
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
2
|
# License: Apache License, Version 2.0
|
3
3
|
|
4
|
-
|
5
4
|
module RTM::IO
|
6
5
|
|
7
6
|
# RDF Export.
|
8
7
|
# RTM::TopicMap gets a to_rdf method.
|
9
|
-
module
|
8
|
+
module ToRDF
|
10
9
|
module TopicMap
|
11
|
-
|
10
|
+
|
11
|
+
# If this topic map is an Ontopia tmapi2 topic map to_rdf_ontopia is
|
12
|
+
# called and the RDF reprensentation is returned.
|
13
|
+
#
|
14
|
+
# Else, a "Not supported" error is raised.
|
15
|
+
#
|
16
|
+
# :call-seq:
|
17
|
+
# to_rdf -> String
|
18
|
+
#
|
12
19
|
def to_rdf
|
13
20
|
case self
|
14
21
|
when net.ontopia.topicmaps.impl.tmapi2.TopicMapImpl then to_rdf_ontopia
|
15
22
|
else raise "Not supported for #{self}"
|
16
23
|
end
|
17
24
|
end
|
18
|
-
|
25
|
+
|
26
|
+
# Returns the RDF representation according to RDF2TM
|
27
|
+
# of this topic map as String.
|
28
|
+
#
|
29
|
+
# @see http://www.ontopia.net/topicmaps/materials/rdf2tm.html
|
30
|
+
#
|
31
|
+
# :call-seq:
|
32
|
+
# to_rdf_ontopia -> String
|
33
|
+
#
|
19
34
|
def to_rdf_ontopia
|
20
35
|
@out = java.io.StringWriter.new
|
21
36
|
w=Java::NetOntopiaTopicmapsUtilsRdf::RDFTopicMapWriter.new @out
|
@@ -24,7 +39,7 @@ module RTM::IO
|
|
24
39
|
end
|
25
40
|
end
|
26
41
|
|
27
|
-
RTM.register_extension self
|
42
|
+
RTM.register_extension self
|
28
43
|
|
29
44
|
end
|
30
45
|
end
|
data/lib/rtm/io/to_string.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
module RTM::IO
|
5
5
|
# Each Topic Maps Construct gets a custom to_s method which supports optional :short or :long output.
|
6
|
-
module
|
6
|
+
module ToString
|
7
7
|
|
8
8
|
module TopicMap
|
9
9
|
# Returns different String representations. Try :short (default), :long, :super (original)
|
@@ -123,7 +123,18 @@ module RTM::IO
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
end
|
126
|
-
|
126
|
+
|
127
|
+
module Locator
|
128
|
+
def to_s(style=:short)
|
129
|
+
case style
|
130
|
+
when :short
|
131
|
+
value
|
132
|
+
when :long
|
133
|
+
value
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
127
138
|
RTM.register_extension( self )
|
128
139
|
end
|
129
140
|
end
|
data/lib/rtm/io/to_yaml.rb
CHANGED
@@ -2,56 +2,84 @@
|
|
2
2
|
# License: Apache License, Version 2.0
|
3
3
|
|
4
4
|
module RTM::IO
|
5
|
-
#
|
5
|
+
# Yaml Export.
|
6
6
|
# Each Topic Maps Construct gets a to_yaml method.
|
7
|
-
module
|
7
|
+
module ToYAML
|
8
8
|
|
9
9
|
module TopicMap
|
10
|
-
# Returns the YAML representation of this
|
10
|
+
# Returns the YAML representation of this topic map as String.
|
11
|
+
#
|
12
|
+
# :call-seq:
|
13
|
+
# to_yaml -> String
|
14
|
+
#
|
11
15
|
def to_yaml
|
12
16
|
to_hash.to_yaml
|
13
17
|
end
|
14
18
|
end
|
15
19
|
|
16
20
|
module Topic
|
17
|
-
# Returns the YAML representation of this
|
21
|
+
# Returns the YAML representation of this topic as String.
|
22
|
+
#
|
23
|
+
# :call-seq:
|
24
|
+
# to_yaml -> String
|
25
|
+
#
|
18
26
|
def to_yaml
|
19
27
|
to_hash.to_yaml
|
20
28
|
end
|
21
29
|
end
|
22
30
|
|
23
31
|
module Association
|
24
|
-
# Returns the YAML representation of this
|
32
|
+
# Returns the YAML representation of this association as String.
|
33
|
+
#
|
34
|
+
# :call-seq:
|
35
|
+
# to_yaml -> String
|
36
|
+
#
|
25
37
|
def to_yaml
|
26
38
|
to_hash.to_yaml
|
27
39
|
end
|
28
40
|
end
|
29
41
|
|
30
42
|
module Name
|
31
|
-
# Returns the YAML representation of this
|
43
|
+
# Returns the YAML representation of this name as String.
|
44
|
+
#
|
45
|
+
# :call-seq:
|
46
|
+
# to_yaml -> String
|
47
|
+
#
|
32
48
|
def to_yaml
|
33
49
|
to_hash.to_yaml
|
34
50
|
end
|
35
51
|
end
|
36
52
|
|
37
53
|
module Occurrence
|
38
|
-
# Returns the YAML representation of this
|
54
|
+
# Returns the YAML representation of this occurrence as String.
|
55
|
+
#
|
56
|
+
# :call-seq:
|
57
|
+
# to_yaml -> String
|
58
|
+
#
|
39
59
|
def to_yaml
|
40
60
|
to_hash.to_yaml
|
41
61
|
end
|
42
62
|
end
|
43
63
|
|
44
64
|
module Role
|
45
|
-
# Returns the YAML representation of this
|
65
|
+
# Returns the YAML representation of this role as String.
|
66
|
+
#
|
67
|
+
# :call-seq:
|
68
|
+
# to_yaml -> String
|
69
|
+
#
|
46
70
|
def to_yaml
|
47
|
-
|
71
|
+
to_hash.to_yaml
|
48
72
|
end
|
49
73
|
end
|
50
74
|
|
51
75
|
module Variant
|
52
|
-
# Returns the YAML representation of this
|
76
|
+
# Returns the YAML representation of this variant as String.
|
77
|
+
#
|
78
|
+
# :call-seq:
|
79
|
+
# to_yaml -> String
|
80
|
+
#
|
53
81
|
def to_yaml
|
54
|
-
|
82
|
+
to_hash.to_yaml
|
55
83
|
end
|
56
84
|
end
|
57
85
|
|
data/lib/rtm/navigation.rb
CHANGED
@@ -20,18 +20,4 @@ require "rtm/navigation/topic/supertypes"
|
|
20
20
|
require "rtm/navigation/topic/traverse"
|
21
21
|
require "rtm/navigation/topic/types"
|
22
22
|
|
23
|
-
|
24
|
-
include RTM::Navigation::Topic
|
25
|
-
end
|
26
|
-
|
27
|
-
module RTM::Name
|
28
|
-
include RTM::Navigation::Name
|
29
|
-
end
|
30
|
-
|
31
|
-
module RTM::Occurrence
|
32
|
-
include RTM::Navigation::Occurrence
|
33
|
-
end
|
34
|
-
|
35
|
-
module RTM::Association
|
36
|
-
include RTM::Navigation::Association
|
37
|
-
end
|
23
|
+
RTM.register_extension(RTM::Navigation)
|
@@ -8,7 +8,7 @@ module RTM
|
|
8
8
|
# Returns all players of roles in this association.
|
9
9
|
#
|
10
10
|
# The optional identifier specifies the type of the roles to be considered.
|
11
|
-
# The identifier may be a topic
|
11
|
+
# The identifier may be a topic reference.
|
12
12
|
#
|
13
13
|
# Multiple instances of the same topics are possible.
|
14
14
|
#
|
@@ -9,7 +9,7 @@ module RTM
|
|
9
9
|
# If an identifier is given, only those Names and Occurrences are returned,
|
10
10
|
# whose type or supertypes include the identifier.
|
11
11
|
#
|
12
|
-
# Identifier may be a
|
12
|
+
# Identifier may be a topic reference.
|
13
13
|
#
|
14
14
|
# The result may be empty.
|
15
15
|
#
|
@@ -9,7 +9,7 @@ module RTM
|
|
9
9
|
#
|
10
10
|
# The optional
|
11
11
|
# identifier specifies the type of the Roles to be considered.
|
12
|
-
# The identifier may be a
|
12
|
+
# The identifier may be a topic reference.
|
13
13
|
#
|
14
14
|
# Multiple instances of the same Association are possible.
|
15
15
|
# The result may be empty.
|
@@ -23,7 +23,7 @@ module RTM
|
|
23
23
|
# the player of the supertype-Role. The current Topic will play the
|
24
24
|
# subtype-Role. Returns the created Association.
|
25
25
|
#
|
26
|
-
# Identifier may be a
|
26
|
+
# Identifier may be a topic reference.
|
27
27
|
#
|
28
28
|
# :call-seq:
|
29
29
|
# add_supertype(identifier) -> Association
|
@@ -40,7 +40,7 @@ module RTM
|
|
40
40
|
# the player of a supertype-Role. The current topic will play the
|
41
41
|
# subtype-Role in each association. Returns the associations.
|
42
42
|
#
|
43
|
-
# The
|
43
|
+
# The identifiers may be topic references.
|
44
44
|
#
|
45
45
|
# :call-seq:
|
46
46
|
# add_supertypes(identifier1, identifier2, ...) -> Array of Associtions
|
@@ -60,13 +60,15 @@ module RTM
|
|
60
60
|
# transitive_supertypes -> Array of Topics
|
61
61
|
#
|
62
62
|
def transitive_supertypes
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
63
|
+
# topic_map.cached self, :transitive_supertypes do
|
64
|
+
result_types = new_s_t = direct_supertypes
|
65
|
+
until new_s_t.empty?
|
66
|
+
new_s_t = new_s_t.map{|s| s.direct_supertypes}.flatten.uniq
|
67
|
+
new_s_t = new_s_t.reject{|s| result_types.include?(s)}
|
68
|
+
result_types = result_types + new_s_t
|
69
|
+
end
|
70
|
+
result_types
|
71
|
+
# end
|
70
72
|
end
|
71
73
|
|
72
74
|
# Returns all supertypes of this Topic. The result includes the direct_supertypes
|
@@ -97,7 +99,7 @@ module RTM
|
|
97
99
|
# the player of the subtype-Role. The current Topic will play the
|
98
100
|
# supertype-Role. Returns the created Association.
|
99
101
|
#
|
100
|
-
# Identifier may be
|
102
|
+
# Identifier may be topic reference.
|
101
103
|
#
|
102
104
|
# :call-seq:
|
103
105
|
# add_subtype(identifier) -> Association
|
@@ -114,7 +116,7 @@ module RTM
|
|
114
116
|
# the player of a subtype-Role. The current topic will play the
|
115
117
|
# supertype-Role in each association. Returns the associations.
|
116
118
|
#
|
117
|
-
# The
|
119
|
+
# The identifiers may be topic references.
|
118
120
|
#
|
119
121
|
# :call-seq:
|
120
122
|
# add_subtypes(identifier1, identifier2, ...) -> Array of Associtions
|
@@ -133,13 +135,15 @@ module RTM
|
|
133
135
|
# transitive_subtypes -> Array of Topics
|
134
136
|
#
|
135
137
|
def transitive_subtypes
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
138
|
+
topic_map.cached self, :transitive_subtypes do
|
139
|
+
result_types = new_s_t = direct_subtypes
|
140
|
+
until new_s_t.empty?
|
141
|
+
new_s_t = new_s_t.map{|s| s.direct_subtypes}.flatten.uniq
|
142
|
+
new_s_t = new_s_t.reject{|s| result_types.include?(s)}
|
143
|
+
result_types = result_types + new_s_t
|
144
|
+
end
|
145
|
+
result_types
|
141
146
|
end
|
142
|
-
return result_types
|
143
147
|
end
|
144
148
|
|
145
149
|
# Returns all subtypes of this Topic. The result includes the direct_subtypes
|
@@ -12,7 +12,7 @@ module RTM
|
|
12
12
|
# The current Topic is not included in the result.
|
13
13
|
# The result may be empty.
|
14
14
|
#
|
15
|
-
# The identifier may be a
|
15
|
+
# The identifier may be a topic reference.
|
16
16
|
#
|
17
17
|
# :call-seq:
|
18
18
|
# traverse(identifier) -> Array of Topics
|
@@ -27,8 +27,9 @@ module RTM
|
|
27
27
|
# type -> Topic or nil
|
28
28
|
#
|
29
29
|
def type
|
30
|
-
|
31
|
-
|
30
|
+
_types = types
|
31
|
+
raise "Topic must have exactly one type to call the type-method. Use the types-method instead." unless _types.size < 2
|
32
|
+
_types.size == 1 ? _types.to_a.first : nil
|
32
33
|
end
|
33
34
|
|
34
35
|
# Returns the topics which are instances of this topic.
|
@@ -52,8 +53,9 @@ module RTM
|
|
52
53
|
# instance -> Topic
|
53
54
|
#
|
54
55
|
def instance
|
55
|
-
|
56
|
-
|
56
|
+
_instances = instances
|
57
|
+
raise "Topic must have exactly one instance to call the instance-method. Use the instances-method instead." unless _instances.size < 2
|
58
|
+
_instances.size == 1 ? _instances.to_a.first : nil
|
57
59
|
end
|
58
60
|
|
59
61
|
alias :reverse_types :instances
|
data/lib/rtm/psi.rb
CHANGED
@@ -29,6 +29,9 @@ module RTM
|
|
29
29
|
PSI[:Integer] = "http://www.w3.org/2001/XMLSchema#integer"
|
30
30
|
PSI[:Int] = "http://www.w3.org/2001/XMLSchema#int"
|
31
31
|
PSI[:Decimal] = "http://www.w3.org/2001/XMLSchema#decimal"
|
32
|
+
PSI[:Date] = "http://www.w3.org/2001/XMLSchema#date"
|
33
|
+
PSI[:DateTime] = "http://www.w3.org/2001/XMLSchema#dateTime"
|
34
|
+
PSI[:Time] = "http://www.w3.org/2001/XMLSchema#time"
|
32
35
|
|
33
36
|
PSI[:XTM] = "http://psi.topicmaps.org/iso13250/glossary/XTM"
|
34
37
|
PSI[:association] = "http://psi.topicmaps.org/iso13250/glossary/association"
|
@@ -62,6 +65,9 @@ module RTM
|
|
62
65
|
PSI[:variant] = "http://psi.topicmaps.org/iso13250/glossary/variant-name"
|
63
66
|
PSI[:variant_name] = "http://psi.topicmaps.org/iso13250/glossary/variant-name"
|
64
67
|
|
68
|
+
PSI[:subject_representation] = "http://psi.topicmapslab.de/subject-representation"
|
69
|
+
PSI[:represented_subject] = "http://psi.topicmapslab.de/represented-subject"
|
70
|
+
|
65
71
|
# languages
|
66
72
|
# PSI[:] = "http://psi.oasis-open.org/iso/639/#"
|
67
73
|
PSI[:language] = "http://psi.oasis-open.org/iso/639/#language"
|
data/lib/rtm/sugar.rb
CHANGED
@@ -1,34 +1,47 @@
|
|
1
1
|
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
2
|
# License: Apache License, Version 2.0
|
3
3
|
|
4
|
-
module RTM::
|
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
|
-
|
4
|
+
module RTM::Sugar;end
|
5
|
+
|
6
|
+
require 'rtm/sugar/topic/topic_ref'
|
7
|
+
require 'rtm/sugar/topic/hash_access'
|
8
|
+
require 'rtm/sugar/topic/characteristics'
|
9
|
+
require 'rtm/sugar/topic/counterparts'
|
10
|
+
require 'rtm/sugar/topic/scoped'
|
11
|
+
require 'rtm/sugar/topic/typed'
|
12
|
+
require 'rtm/sugar/topic/best_name'
|
13
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::TopicRef)
|
14
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::HashAccess)
|
15
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::Characteristics)
|
16
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::Counterparts)
|
17
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::Scoped)
|
18
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::Typed)
|
19
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::BestName)
|
20
|
+
|
21
|
+
require "rtm/sugar/association/hash_access"
|
22
|
+
RTM::Association.register_extension(RTM::Sugar::Association::HashAccess)
|
23
|
+
|
24
|
+
require "rtm/sugar/role/counterparts"
|
25
|
+
RTM::Role.register_extension(RTM::Sugar::Role::Counterparts)
|
26
|
+
|
27
|
+
require "time"
|
28
|
+
require "rtm/sugar/occurrence/dynamic_value"
|
29
|
+
require "rtm/sugar/occurrence/external"
|
30
|
+
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::DynamicValue)
|
31
|
+
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::External)
|
32
|
+
|
33
|
+
require "rtm/sugar/typed/types"
|
34
|
+
RTM::Typed.register_extension(RTM::Sugar::Typed::Types)
|
35
|
+
|
36
|
+
require 'rtm/sugar/reifiable/reifier'
|
37
|
+
RTM::Reifiable.register_extension(RTM::Sugar::Reifiable::CreateReifier)
|
38
|
+
|
39
|
+
require 'rtm/sugar/topic_map/query_cache'
|
40
|
+
require 'rtm/sugar/topic_map/themes'
|
41
|
+
module RTM::TopicMap
|
42
|
+
include RTM::Reifiable
|
43
|
+
@query_cache = nil #disables query caching
|
33
44
|
end
|
45
|
+
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::QueryCache)
|
46
|
+
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Themes)
|
34
47
|
|