rtm 0.3.0 → 0.3.1
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.
- data/DISCLAIMER +3 -1
- data/README +0 -0
- data/lib/rtm.rb +0 -1
- data/lib/rtm/axes/topic.rb +0 -3
- data/lib/rtm/axes/topics.rb +0 -3
- data/lib/rtm/connection.rb +4 -4
- data/lib/rtm/engine.rb +6 -5
- data/lib/rtm/extensions.rb +1 -1
- data/lib/rtm/helpers/no_output.rb +1 -1
- data/lib/rtm/io/from_xtm2_libxml.rb +2 -2
- data/lib/rtm/io/tmapix_from.rb +11 -24
- data/lib/rtm/io/tmapix_to.rb +38 -7
- data/lib/rtm/navigation/topic/characteristics.rb +7 -9
- data/lib/rtm/navigation/topic/supertypes.rb +1 -5
- data/lib/rtm/sugar.rb +16 -1
- data/lib/rtm/sugar/association/remove.rb +21 -0
- data/lib/rtm/sugar/name/remove.rb +18 -0
- data/lib/rtm/sugar/occurrence/external.rb +1 -0
- data/lib/rtm/sugar/occurrence/remove.rb +15 -0
- data/lib/rtm/sugar/topic/remove.rb +23 -0
- data/lib/rtm/sugar/topic/topic_ref.rb +111 -7
- data/lib/rtm/sugar/topic_map/readable.rb +19 -0
- data/lib/rtm/sugar/topic_map/remove.rb +15 -6
- data/lib/rtm/sugar/topic_map/resolve.rb +44 -0
- data/lib/rtm/sugar/topic_map/scoped.rb +42 -0
- data/lib/rtm/sugar/topic_map/types.rb +46 -0
- data/lib/rtm/sugar/variant/remove.rb +15 -0
- data/lib/rtm/version.rb +1 -2
- data/spec/rtm/axes/topic_spec.rb +4 -4
- data/spec/rtm/axes/topics_spec.rb +4 -4
- data/spec/rtm/engine_spec.rb +10 -1
- data/spec/rtm/io/tmapix_from_spec.rb +41 -9
- data/spec/rtm/io/tmapix_to_spec.rb +58 -32
- data/spec/rtm/io/to_rdf_spec.rb +8 -4
- data/spec/rtm/javatmapi_spec.rb +39 -29
- data/spec/rtm/navigation/topic/characteristics_spec.rb +11 -16
- data/spec/rtm/navigation/topic/supertypes_spec.rb +32 -89
- data/spec/rtm/navigation/topic_spec.rb +4 -4
- data/spec/rtm/sugar/association/hash_access_spec.rb +1 -1
- data/spec/rtm/sugar/topic/counterparts_spec.rb +18 -2
- data/spec/rtm/sugar/topic/remove_spec.rb +46 -0
- data/spec/rtm/sugar/topic/topic_ref_spec.rb +99 -26
- data/spec/rtm/sugar/topic_map/readable_spec.rb +25 -0
- data/spec/rtm/sugar/topic_map/remove_spec.rb +4 -1
- data/spec/rtm/sugar/topic_map/resolve_spec.rb +56 -0
- data/spec/rtm/sugar/topic_map/types_spec.rb +31 -0
- data/spec/rtm/tmapi/core/reifiable_spec.rb +0 -1
- data/spec/rtm/tmapi/core/topic_map_spec.rb +13 -8
- data/spec/rtm/tmapi/core/topic_spec.rb +17 -6
- data/spec/rtm/tmapi_spec.rb +2 -2
- data/spec/rtm_spec.rb +3 -3
- data/spec/spec_helper.rb +34 -6
- data/test/javalibs/junit-4.8.1.jar +0 -0
- data/test/javalibs/tmapi-tests-2.0.3-SNAPSHOT.jar +0 -0
- metadata +175 -165
- data/test/javalibs/junit-4.5.jar +0 -0
- data/test/javalibs/tmapi-2.0-tests.jar +0 -0
data/DISCLAIMER
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
Copyright 2006-2008 Benjamin Bock
|
2
|
+
|
1
3
|
Copyright 2008-2010 Topic Maps Lab, University of Leipzig.
|
2
4
|
|
3
5
|
Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -10,4 +12,4 @@ Unless required by applicable law or agreed to in writing, software
|
|
10
12
|
distributed under the License is distributed on an "AS IS" BASIS,
|
11
13
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
14
|
See the License for the specific language governing permissions and limitations
|
13
|
-
under the License.
|
15
|
+
under the License.
|
data/README
CHANGED
File without changes
|
data/lib/rtm.rb
CHANGED
data/lib/rtm/axes/topic.rb
CHANGED
@@ -164,9 +164,6 @@ module RTM::Axes
|
|
164
164
|
_res = @construct.transitive_subtypes_with_self.map{|r| r.axes}
|
165
165
|
_res.extend(Topics)
|
166
166
|
end
|
167
|
-
|
168
|
-
alias reverse_subtypes supertypes
|
169
|
-
alias reverse_supertypes subtypes
|
170
167
|
|
171
168
|
# ---- traverse-axis ---------------------------------------------------#
|
172
169
|
|
data/lib/rtm/axes/topics.rb
CHANGED
data/lib/rtm/connection.rb
CHANGED
@@ -30,17 +30,17 @@ module RTM
|
|
30
30
|
connection
|
31
31
|
end
|
32
32
|
|
33
|
-
#
|
33
|
+
# Returns all connections or a particular connection.
|
34
34
|
# @overload connections
|
35
35
|
# Returns all registered connections, keyed by their identifiers.
|
36
36
|
# @return [Hash]
|
37
37
|
# @overload connections(identifier)
|
38
38
|
# @param [Symbol] identifier of the registered connection
|
39
39
|
# @return [Engine] the connection object
|
40
|
-
def connections(
|
40
|
+
def connections(key=nil)
|
41
41
|
@connections ||= {}
|
42
|
-
if
|
43
|
-
@connections[
|
42
|
+
if key
|
43
|
+
@connections[key]
|
44
44
|
else
|
45
45
|
@connections
|
46
46
|
end
|
data/lib/rtm/engine.rb
CHANGED
@@ -49,19 +49,20 @@ module RTM
|
|
49
49
|
require "rtm/#{engine_gem_name}"
|
50
50
|
self[engine_name]
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
|
+
# Changed 2010-07-29: engine_name now symbols, cause, list elements are also symbol
|
53
54
|
def self.load!(engine_name=nil)
|
54
55
|
engine_name = self.detect unless engine_name
|
55
|
-
unless list.include?(engine_name)
|
56
|
+
unless list.include?(engine_name.to_sym)
|
56
57
|
warn("Requested engine '#{engine_name}' not loaded. Trying to autoload it.")
|
57
|
-
engine = load(engine_name)
|
58
|
-
if list.include?(engine_name)
|
58
|
+
engine = load(engine_name.to_sym)
|
59
|
+
if list.include?(engine_name.to_sym)
|
59
60
|
warn("Autoloading '#{engine_name}' was successful")
|
60
61
|
else
|
61
62
|
raise "Autoloading '#{engine_name}' failed. Make sure rtm-#{engine_name} exists and is installed or require it manually."
|
62
63
|
end
|
63
64
|
end
|
64
|
-
engine || load(engine_name)
|
65
|
+
engine || load(engine_name.to_sym)
|
65
66
|
end
|
66
67
|
|
67
68
|
def self.detect(preferred=nil)
|
data/lib/rtm/extensions.rb
CHANGED
@@ -45,7 +45,7 @@ module RTM
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# A standard Ruby hook to be notified about inclusions of this module.
|
48
|
-
# This normally eliminates the need to register a module as
|
48
|
+
# This normally eliminates the need to register a module as implementation
|
49
49
|
def included(klass)
|
50
50
|
# super
|
51
51
|
# puts "[RTMEXT] including #{self} into #{klass} in #{caller(1).first}"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
# Executes the given block while suppressing all standard output.
|
5
5
|
def no_output
|
6
|
-
$stdout = File.open( PLATFORM =~ /mswin/ ? "NUL" : "/dev/null", "w" )
|
6
|
+
$stdout = File.open( PLATFORM =~ /mswin|mingw/ ? "NUL" : "/dev/null", "w" )
|
7
7
|
yield if block_given?
|
8
8
|
$stdout.close
|
9
9
|
$stdout = STDOUT
|
@@ -22,7 +22,7 @@ module RTM::IO
|
|
22
22
|
def self.from_xtm2(source, base_locator, target=nil,options={})
|
23
23
|
tm = RTM.create(base_locator) unless target
|
24
24
|
parser = XML::SaxParser.new
|
25
|
-
parser.callbacks = XML::LibXMLSax2wrapper.new(FROMXTM2::XTM2Listener.new(base_locator, target || tm, options))
|
25
|
+
parser.callbacks = RTM::XML::LibXMLSax2wrapper.new(FROMXTM2::XTM2Listener.new(base_locator, target || tm, options))
|
26
26
|
parser.filename = source
|
27
27
|
parser.parse
|
28
28
|
#true
|
@@ -30,7 +30,7 @@ module RTM::IO
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
module XML
|
33
|
+
module RTM::XML
|
34
34
|
# Acts as Callback structure for the LibXML-Ruby SAX Parser and calls
|
35
35
|
# a REXML SAX2Listener API.
|
36
36
|
class LibXMLSax2wrapper
|
data/lib/rtm/io/tmapix_from.rb
CHANGED
@@ -38,7 +38,12 @@ module RTM::IO
|
|
38
38
|
topic_map = create(base_iri)
|
39
39
|
end
|
40
40
|
|
41
|
-
|
41
|
+
# TODO catch java.io.FileNotFoundException
|
42
|
+
reader = reader_class.new(topic_map, java.io.File.new(source), base_iri)
|
43
|
+
if reader_class == Java::OrgTmapixIo::LTMTopicMapReader
|
44
|
+
reader.setLegacyMode(true)
|
45
|
+
end
|
46
|
+
reader.read
|
42
47
|
topic_map
|
43
48
|
end
|
44
49
|
|
@@ -69,7 +74,6 @@ module RTM::IO
|
|
69
74
|
# from_jtm(filename)
|
70
75
|
#
|
71
76
|
def from_jtm(*args)
|
72
|
-
# seems not to acceped all files that are found to be valid by the JTM validator
|
73
77
|
from_anything(Java::OrgTmapixIo::JTMTopicMapReader, *args)
|
74
78
|
end
|
75
79
|
|
@@ -84,28 +88,6 @@ module RTM::IO
|
|
84
88
|
from_anything(Java::OrgTmapixIo::TMXMLTopicMapReader, *args)
|
85
89
|
end
|
86
90
|
|
87
|
-
# Reads a XML Topic Maps (XTM) 1.0 File
|
88
|
-
# whose location is given as String parameter.
|
89
|
-
#
|
90
|
-
# :call-seq:
|
91
|
-
# from_xtm10(filename)
|
92
|
-
#
|
93
|
-
def from_xtm10(*args)
|
94
|
-
from_anything(Java::OrgTmapixIo::XTM10TopicMapReader, *args)
|
95
|
-
end
|
96
|
-
alias :from_xtm1 :from_xtm10
|
97
|
-
|
98
|
-
# Reads a XML Topic Maps (XTM) 2.0 File
|
99
|
-
# whose location is given as String parameter.
|
100
|
-
#
|
101
|
-
# :call-seq:
|
102
|
-
# from_xtm20(filename)
|
103
|
-
#
|
104
|
-
def from_xtm20(*args)
|
105
|
-
from_xtm(*args)
|
106
|
-
end
|
107
|
-
alias :from_xtm2 :from_xtm20
|
108
|
-
|
109
91
|
# Reads a XML Topic Maps (XTM) File
|
110
92
|
# independent of the version
|
111
93
|
# whose location is given as String parameter.
|
@@ -116,6 +98,11 @@ module RTM::IO
|
|
116
98
|
def from_xtm(*args)
|
117
99
|
from_anything(Java::OrgTmapixIo::XTMTopicMapReader, *args)
|
118
100
|
end
|
101
|
+
alias :from_xtm21 :from_xtm
|
102
|
+
alias :from_xtm20 :from_xtm
|
103
|
+
alias :from_xtm2 :from_xtm
|
104
|
+
alias :from_xtm10 :from_xtm
|
105
|
+
alias :from_xtm1 :from_xtm
|
119
106
|
|
120
107
|
# Reads a Notation3 (N3) File
|
121
108
|
# whose location is given as String .
|
data/lib/rtm/io/tmapix_to.rb
CHANGED
@@ -50,6 +50,8 @@ module RTM::IO
|
|
50
50
|
# Use the topic maps's base_iri if neither found.
|
51
51
|
base_iri = args.shift || params[:base_iri] || self.base_iri
|
52
52
|
|
53
|
+
xtm_version = params[:xtm_version]
|
54
|
+
|
53
55
|
# If a file was provided somehow, we wrap it with output streams
|
54
56
|
if file
|
55
57
|
if file.is_a?(java.io.OutputStream)
|
@@ -63,11 +65,16 @@ module RTM::IO
|
|
63
65
|
end
|
64
66
|
|
65
67
|
# create the java writer
|
66
|
-
|
68
|
+
if xtm_version
|
69
|
+
writer = writer_class.new(out_stream, base_iri, xtm_version)
|
70
|
+
else
|
71
|
+
writer = writer_class.new(out_stream, base_iri)
|
72
|
+
end
|
73
|
+
|
67
74
|
# set params
|
68
75
|
params.each do |k,v|
|
69
76
|
# skip our params, as they're not of interest for the writer
|
70
|
-
next if
|
77
|
+
next if [:file, :base_iri, :xtm_version].include?(k)
|
71
78
|
writer.setProperty(k.to_s,v.to_s)
|
72
79
|
end if writer.respond_to?(:setProperty)
|
73
80
|
# do the actual work
|
@@ -83,6 +90,29 @@ module RTM::IO
|
|
83
90
|
end
|
84
91
|
|
85
92
|
public
|
93
|
+
|
94
|
+
# Serializes an RTM::TopicMap to XTM v. 2.1.
|
95
|
+
#
|
96
|
+
# If no file argument is given, a String is returned.
|
97
|
+
#
|
98
|
+
# The argument file can be provided as a String
|
99
|
+
# (which is then interpreted as a filename) or as a java.io.OutputStream.
|
100
|
+
#
|
101
|
+
# The argument base_iri may be used to define a new base_iri, if not, the current
|
102
|
+
# one is used. Base_iri may be a String.
|
103
|
+
#
|
104
|
+
# :call-seq:
|
105
|
+
# to_xtm21
|
106
|
+
# to_xtm21(file)
|
107
|
+
# to_xtm21(file, base_iri)
|
108
|
+
#
|
109
|
+
def to_xtm21(*args)
|
110
|
+
args.push({}) unless args.last.is_a?(Hash)
|
111
|
+
args.last[:xtm_version] = Java::OrgTmapixIo::XTMVersion::XTM_2_1
|
112
|
+
to_anything(Java::OrgTmapixIo::XTM2TopicMapWriter, *args)
|
113
|
+
end
|
114
|
+
alias :to_xtm :to_xtm21
|
115
|
+
|
86
116
|
# Serializes an RTM::TopicMap to XTM v. 2.0.
|
87
117
|
#
|
88
118
|
# If no argument is given, a String is returned.
|
@@ -94,14 +124,15 @@ module RTM::IO
|
|
94
124
|
# one is used. Base_iri may be a String.
|
95
125
|
#
|
96
126
|
# :call-seq:
|
97
|
-
#
|
98
|
-
#
|
99
|
-
#
|
127
|
+
# to_xtm21
|
128
|
+
# to_xtm21(file)
|
129
|
+
# to_xtm21(file, base_iri)
|
100
130
|
#
|
101
131
|
def to_xtm20(*args)
|
102
|
-
|
132
|
+
args.push({}) unless args.last.is_a?(Hash)
|
133
|
+
args.last[:xtm_version] = Java::OrgTmapixIo::XTMVersion::XTM_2_0
|
134
|
+
to_anything(Java::OrgTmapixIo::XTM2TopicMapWriter, *args)
|
103
135
|
end
|
104
|
-
alias :to_xtm :to_xtm20
|
105
136
|
alias :to_xtm2 :to_xtm20
|
106
137
|
|
107
138
|
# Serializes an RTM::TopicMap to XTM v. 1.0.
|
@@ -17,15 +17,13 @@ module RTM
|
|
17
17
|
# characteristics -> Array of Names and Occurrences
|
18
18
|
# characteristics(identifier) -> Array of Names and Occurrences
|
19
19
|
#
|
20
|
-
def characteristics(type
|
21
|
-
|
22
|
-
return
|
23
|
-
|
24
|
-
return [] unless
|
25
|
-
#
|
26
|
-
|
27
|
-
names.select{|n| n.type.supertypes.include?(_topic)}.to_a +
|
28
|
-
occurrences.select{|o| o.type.supertypes.include?(_topic)}.to_a
|
20
|
+
def characteristics(type = :any)
|
21
|
+
_characteristics = names.to_a + occurrences.to_a
|
22
|
+
return _characteristics if type == :any
|
23
|
+
_type = topic_map.get(type)
|
24
|
+
return [] unless _type
|
25
|
+
#_characteristics.select{|c| c.type == _topic}
|
26
|
+
_characteristics.select{|c| c.type.supertypes.include?(_type)}
|
29
27
|
end
|
30
28
|
|
31
29
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
module RTM
|
5
5
|
module Navigation
|
6
6
|
module Topic
|
7
|
-
|
7
|
+
|
8
8
|
# Returns all Topic players that exist in binary supertype-subtype Associations
|
9
9
|
# where this Topic playes the subtype-Role.
|
10
10
|
#
|
@@ -32,7 +32,6 @@ module RTM
|
|
32
32
|
asso = topic_map.create_association(RTM::PSI[:supertype_subtype])
|
33
33
|
asso.create_role(RTM::PSI[:subtype],self)
|
34
34
|
asso.create_role(RTM::PSI[:supertype],new_supertype)
|
35
|
-
asso
|
36
35
|
end
|
37
36
|
|
38
37
|
# Creates one or several binary supertype-subtype-Associations where
|
@@ -108,7 +107,6 @@ module RTM
|
|
108
107
|
asso = topic_map.create_association(RTM::PSI[:supertype_subtype])
|
109
108
|
asso.create_role(RTM::PSI[:supertype],self)
|
110
109
|
asso.create_role(RTM::PSI[:subtype],new_subtype)
|
111
|
-
asso
|
112
110
|
end
|
113
111
|
|
114
112
|
# Creates one or several binary supertype-subtype-Associations where
|
@@ -158,8 +156,6 @@ module RTM
|
|
158
156
|
|
159
157
|
alias :supertypes :transitive_supertypes
|
160
158
|
alias :subtypes :transitive_subtypes
|
161
|
-
alias :reverse_subtypes :supertypes
|
162
|
-
alias :reverse_supertypes :subtypes
|
163
159
|
|
164
160
|
end
|
165
161
|
end
|
data/lib/rtm/sugar.rb
CHANGED
@@ -10,6 +10,7 @@ require 'rtm/sugar/topic/counterparts'
|
|
10
10
|
require 'rtm/sugar/topic/scoped'
|
11
11
|
require 'rtm/sugar/topic/typed'
|
12
12
|
require 'rtm/sugar/topic/best_name'
|
13
|
+
require 'rtm/sugar/topic/remove'
|
13
14
|
RTM::Topic.register_extension(RTM::Sugar::Topic::TopicRef)
|
14
15
|
RTM::Topic.register_extension(RTM::Sugar::Topic::HashAccess)
|
15
16
|
RTM::Topic.register_extension(RTM::Sugar::Topic::Characteristics)
|
@@ -17,9 +18,15 @@ RTM::Topic.register_extension(RTM::Sugar::Topic::Counterparts)
|
|
17
18
|
RTM::Topic.register_extension(RTM::Sugar::Topic::Scoped)
|
18
19
|
RTM::Topic.register_extension(RTM::Sugar::Topic::Typed)
|
19
20
|
RTM::Topic.register_extension(RTM::Sugar::Topic::BestName)
|
21
|
+
RTM::Topic.register_extension(RTM::Sugar::Topic::Remove)
|
20
22
|
|
21
23
|
require "rtm/sugar/association/hash_access"
|
24
|
+
require "rtm/sugar/association/remove"
|
22
25
|
RTM::Association.register_extension(RTM::Sugar::Association::HashAccess)
|
26
|
+
RTM::Association.register_extension(RTM::Sugar::Association::Remove)
|
27
|
+
|
28
|
+
require "rtm/sugar/name/remove"
|
29
|
+
RTM::Name.register_extension(RTM::Sugar::Name::Remove)
|
23
30
|
|
24
31
|
require "rtm/sugar/role/counterparts"
|
25
32
|
RTM::Role.register_extension(RTM::Sugar::Role::Counterparts)
|
@@ -27,8 +34,10 @@ RTM::Role.register_extension(RTM::Sugar::Role::Counterparts)
|
|
27
34
|
require "time"
|
28
35
|
require "rtm/sugar/occurrence/dynamic_value"
|
29
36
|
require "rtm/sugar/occurrence/external"
|
37
|
+
require "rtm/sugar/occurrence/remove"
|
30
38
|
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::DynamicValue)
|
31
39
|
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::External)
|
40
|
+
RTM::Occurrence.register_extension(RTM::Sugar::Occurrence::Remove)
|
32
41
|
|
33
42
|
require "rtm/sugar/typed/types"
|
34
43
|
RTM::Typed.register_extension(RTM::Sugar::Typed::Types)
|
@@ -40,6 +49,8 @@ require 'rtm/sugar/topic_map/query_cache'
|
|
40
49
|
require 'rtm/sugar/topic_map/scoped'
|
41
50
|
require 'rtm/sugar/topic_map/types'
|
42
51
|
require 'rtm/sugar/topic_map/remove'
|
52
|
+
require 'rtm/sugar/topic_map/resolve'
|
53
|
+
require 'rtm/sugar/topic_map/readable'
|
43
54
|
module RTM::TopicMap
|
44
55
|
@query_cache = nil #disables query caching
|
45
56
|
end
|
@@ -47,6 +58,10 @@ RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::QueryCache)
|
|
47
58
|
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Scoped)
|
48
59
|
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Types)
|
49
60
|
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Remove)
|
61
|
+
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Resolve)
|
62
|
+
RTM::TopicMap.register_extension(RTM::Sugar::TopicMap::Readable)
|
50
63
|
|
51
64
|
require "rtm/sugar/variant/topic"
|
52
|
-
|
65
|
+
require "rtm/sugar/variant/remove"
|
66
|
+
RTM::Variant.register_extension(RTM::Sugar::Variant::Topic)
|
67
|
+
RTM::Variant.register_extension(RTM::Sugar::Variant::Remove)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
+
# License: Apache License, Version 2.0
|
3
|
+
|
4
|
+
module RTM::Sugar::Association
|
5
|
+
module Remove
|
6
|
+
|
7
|
+
def force_remove
|
8
|
+
if assoc_reifier = self.reifier
|
9
|
+
self.reifier = nil
|
10
|
+
assoc_reifier.force_remove
|
11
|
+
end
|
12
|
+
self.roles.to_a.clone.each do |role|
|
13
|
+
if role_reifier = role.reifier
|
14
|
+
role.reifier = nil
|
15
|
+
role_reifier.force_remove
|
16
|
+
end
|
17
|
+
end
|
18
|
+
remove
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
+
# License: Apache License, Version 2.0
|
3
|
+
|
4
|
+
module RTM::Sugar::Name
|
5
|
+
module Remove
|
6
|
+
|
7
|
+
def force_remove
|
8
|
+
if name_reifier = self.reifier
|
9
|
+
self.reifier = nil
|
10
|
+
name_reifier.force_remove
|
11
|
+
end
|
12
|
+
self.variants.to_a.clone.each do |v|
|
13
|
+
v.force_remove
|
14
|
+
end
|
15
|
+
remove
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
+
# License: Apache License, Version 2.0
|
3
|
+
|
4
|
+
module RTM::Sugar::Occurrence
|
5
|
+
module Remove
|
6
|
+
|
7
|
+
def force_remove
|
8
|
+
if occ_reifier = self.reifier
|
9
|
+
self.reifier = nil
|
10
|
+
occ_reifier.force_remove
|
11
|
+
end
|
12
|
+
remove
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|