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
@@ -40,11 +40,11 @@ module RTM::Variant
|
|
40
40
|
@variant2 = @name1.create_variant("Bubi",["endearment"])
|
41
41
|
end
|
42
42
|
it "should remove this Variant from the container (Name)" do
|
43
|
-
@name1.should have(2).
|
43
|
+
@name1.should have(2).variants
|
44
44
|
@variant1.remove
|
45
|
-
@name1.should have(1).
|
45
|
+
@name1.should have(1).variants
|
46
46
|
@variant2.remove
|
47
|
-
@name1.should have(0).
|
47
|
+
@name1.should have(0).variants
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
data/spec/rtm_spec.rb
CHANGED
@@ -12,7 +12,6 @@ describe RTM do
|
|
12
12
|
describe "#connect" do
|
13
13
|
it "should have a TMAPI engine as default backend" do
|
14
14
|
tms_tmapi = RTM.connect(:implementation => implementation_for_spec)
|
15
|
-
tms_tmapi.should be_a_kind_of RTM::TopicMapSystem
|
16
15
|
tms_tmapi.should be_a_kind_of RTM::JavaTMAPI
|
17
16
|
tms_tmapi.should be_a_kind_of org.tmapi.core.TopicMapSystem
|
18
17
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
2
|
# License: Apache License, Version 2.0
|
3
3
|
|
4
|
-
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), "/../lib")
|
5
5
|
|
6
6
|
require 'spec'
|
7
7
|
require 'rtm'
|
@@ -15,7 +15,12 @@ end
|
|
15
15
|
|
16
16
|
def get_used_tm_sys_tm
|
17
17
|
@basis = get_used_tm_sys
|
18
|
-
@basis.create("http://www.topicmapslab.de/")
|
18
|
+
tm = @basis.create("http://www.topicmapslab.de/")
|
19
|
+
if (implementation_for_spec == :hatana)
|
20
|
+
tm.merge_in(RTM.connect(:implementation => :ontopia).create("http://www.topicmapslab.de/"))
|
21
|
+
end
|
22
|
+
# tm.enable_query_cache
|
23
|
+
return tm
|
19
24
|
end
|
20
25
|
|
21
26
|
def ar_available?
|
Binary file
|
Binary file
|
data/test/tmapi_tests.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
+
# License: Apache License, Version 2.0
|
3
|
+
|
4
|
+
$: << File.join(File.dirname(__FILE__), "/../lib")
|
5
|
+
|
6
|
+
Dir[File.join(File.dirname(__FILE__), '/javalibs/*.jar')].each {|file| require file }
|
7
|
+
|
8
|
+
require 'rtm'
|
9
|
+
|
10
|
+
class TMAPITests
|
11
|
+
|
12
|
+
def initialize(engine)
|
13
|
+
RTM.connect(:implementation => engine)
|
14
|
+
run_tests_for_backend
|
15
|
+
end
|
16
|
+
|
17
|
+
def run_tests_for_backend
|
18
|
+
Java::OrgTmapi::AllTests.main([].to_java(Java::JavaLang::String))
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
engine = ENV['RTM_IMPLEMENTATION'] && ENV['RTM_IMPLEMENTATION'].to_sym || :ontopia
|
24
|
+
|
25
|
+
TMAPITests.new(engine)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Bock
|
@@ -12,12 +12,52 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2010-02-
|
15
|
+
date: 2010-02-21 00:00:00 +01:00
|
16
16
|
default_executable:
|
17
17
|
dependencies: []
|
18
18
|
|
19
|
-
description:
|
20
|
-
|
19
|
+
description: |
|
20
|
+
==== Ruby Topic Maps (RTM)
|
21
|
+
RTM is a Topic Maps engine written in Ruby. See http://rtm.topicmapslab.de/ for instructions.
|
22
|
+
Several backends and extensions are available as separate gems.
|
23
|
+
|
24
|
+
==== Overview
|
25
|
+
From a developer's perspective, RTM is a schema-less database management system.
|
26
|
+
The Topic Maps standard (described below) on which RTM is based provides a way of creating a self-describing schema just by using it.
|
27
|
+
|
28
|
+
==== Quickstart
|
29
|
+
require 'rtm'
|
30
|
+
connection = RTM.connect # uses the default Ontopia in-memory backend
|
31
|
+
topic_map = connection.create "http://example.org/my_topic_map/"
|
32
|
+
some_topic = topicmap.get!("identifier_of_the_topic")
|
33
|
+
some_topic["-"] = "default name for the topic"
|
34
|
+
topic_map.to_xtm("my_xtm_file.xtm")
|
35
|
+
|
36
|
+
==== Topic Maps
|
37
|
+
Topic Maps is an international industry standard (ISO13250) for interchangeably representing information
|
38
|
+
about the structure of information resources used to define topics, and the relationships between topics.
|
39
|
+
A set of one or more interrelated documents that employs the notation defined by this International Standard is called a topic map.
|
40
|
+
A topic map defines a multidimensional topic space - a space in which the locations are topics,
|
41
|
+
and in which the distances between topics are measurable in terms of the number of intervening topics
|
42
|
+
which must be visited in order to get from one topic to another, and the kinds of relationships that define
|
43
|
+
the path from one topic to another, if any, through the intervening topics, if any.
|
44
|
+
In addition, information objects can have properties, as well as values for those properties, assigned to them.
|
45
|
+
The Topic Maps Data Model which is used in this implementation can be found on http://www.isotopicmaps.org/sam/sam-model/.
|
46
|
+
|
47
|
+
==== Backends
|
48
|
+
* rtm-ontopia: JRuby only, recommended, uses Ontopia: http://code.google.com/p/ontopia/
|
49
|
+
* rtm-tinytim: JRuby only, uses TinyTiM: http://tinytim.sourceforge.net/
|
50
|
+
* rtm-activerecord: uses a custom ActiveRecord schema
|
51
|
+
|
52
|
+
==== Extensions
|
53
|
+
* rtm-tmql: Adds support for the Topic Maps Query Language (TMQL), http://isotopicmaps.org/tmql/
|
54
|
+
* rtm-tmcl: Adds support for the Topic Maps Constraint Language (TMCL), http://isotopicmaps.org/tmcl/
|
55
|
+
|
56
|
+
==== License
|
57
|
+
Copyright 2009 Topic Maps Lab, University of Leipzig.
|
58
|
+
Apache License, Version 2.0
|
59
|
+
|
60
|
+
email: rtm+rtm-gem-20100221@topicmapslab.de
|
21
61
|
executables: []
|
22
62
|
|
23
63
|
extensions: []
|
@@ -42,8 +82,8 @@ files:
|
|
42
82
|
- lib/rtm/helpers/no_output.rb
|
43
83
|
- lib/rtm/helpers/uri.rb
|
44
84
|
- lib/rtm/io/from_xtm2_libxml.rb
|
45
|
-
- lib/rtm/io/
|
46
|
-
- lib/rtm/io/
|
85
|
+
- lib/rtm/io/tmapix_from.rb
|
86
|
+
- lib/rtm/io/tmapix_to.rb
|
47
87
|
- lib/rtm/io/to_hash.rb
|
48
88
|
- lib/rtm/io/to_jtm.rb
|
49
89
|
- lib/rtm/io/to_rdf.rb
|
@@ -69,14 +109,18 @@ files:
|
|
69
109
|
- lib/rtm/psi.rb
|
70
110
|
- lib/rtm/sugar/association/hash_access.rb
|
71
111
|
- lib/rtm/sugar/occurrence/dynamic_value.rb
|
72
|
-
- lib/rtm/sugar/occurrence/
|
112
|
+
- lib/rtm/sugar/occurrence/external.rb
|
113
|
+
- lib/rtm/sugar/reifiable/reifier.rb
|
73
114
|
- lib/rtm/sugar/role/counterparts.rb
|
115
|
+
- lib/rtm/sugar/topic/best_name.rb
|
74
116
|
- lib/rtm/sugar/topic/characteristics.rb
|
75
117
|
- lib/rtm/sugar/topic/counterparts.rb
|
76
118
|
- lib/rtm/sugar/topic/hash_access.rb
|
77
119
|
- lib/rtm/sugar/topic/scoped.rb
|
78
120
|
- lib/rtm/sugar/topic/topic_ref.rb
|
79
121
|
- lib/rtm/sugar/topic/typed.rb
|
122
|
+
- lib/rtm/sugar/topic_map/query_cache.rb
|
123
|
+
- lib/rtm/sugar/topic_map/themes.rb
|
80
124
|
- lib/rtm/sugar/typed/types.rb
|
81
125
|
- lib/rtm/sugar.rb
|
82
126
|
- lib/rtm/validation.rb
|
@@ -93,7 +137,12 @@ files:
|
|
93
137
|
- spec/rtm/axes/topic_spec.rb
|
94
138
|
- spec/rtm/axes/topics_spec.rb
|
95
139
|
- spec/rtm/base_spec.rb
|
96
|
-
- spec/rtm/io/
|
140
|
+
- spec/rtm/io/tmapix_from_spec.rb
|
141
|
+
- spec/rtm/io/tmapix_to_spec.rb
|
142
|
+
- spec/rtm/io/to_hash_spec.rb
|
143
|
+
- spec/rtm/io/to_rdf_spec.rb
|
144
|
+
- spec/rtm/io/to_string_spec.rb
|
145
|
+
- spec/rtm/io/to_yaml_spec.rb
|
97
146
|
- spec/rtm/navigation/association/players_spec.rb
|
98
147
|
- spec/rtm/navigation/association_spec.rb
|
99
148
|
- spec/rtm/navigation/name/atomify_spec.rb
|
@@ -115,16 +164,21 @@ files:
|
|
115
164
|
- spec/rtm/navigation/topic_spec.rb
|
116
165
|
- spec/rtm/sugar/association/hash_access_spec.rb
|
117
166
|
- spec/rtm/sugar/occurrence/dynamic_value_spec.rb
|
167
|
+
- spec/rtm/sugar/occurrence/external_spec.rb
|
168
|
+
- spec/rtm/sugar/reifiable/reifier_spec.rb
|
118
169
|
- spec/rtm/sugar/role/counterparts_spec.rb
|
170
|
+
- spec/rtm/sugar/topic/best_name_spec.rb
|
119
171
|
- spec/rtm/sugar/topic/characteristics_spec.rb
|
120
172
|
- spec/rtm/sugar/topic/counterparts_spec.rb
|
121
173
|
- spec/rtm/sugar/topic/hash_access_spec.rb
|
122
174
|
- spec/rtm/sugar/topic/scoped_spec.rb
|
123
175
|
- spec/rtm/sugar/topic/topic_ref_spec.rb
|
124
176
|
- spec/rtm/sugar/topic/typed_spec.rb
|
177
|
+
- spec/rtm/sugar/topic_map/themes_spec.rb
|
125
178
|
- spec/rtm/sugar/typed/types_spec.rb
|
126
179
|
- spec/rtm/tmapi/core/association_spec.rb
|
127
180
|
- spec/rtm/tmapi/core/construct_spec.rb
|
181
|
+
- spec/rtm/tmapi/core/datatype_aware_spec.rb
|
128
182
|
- spec/rtm/tmapi/core/name_spec.rb
|
129
183
|
- spec/rtm/tmapi/core/occurrence_spec.rb
|
130
184
|
- spec/rtm/tmapi/core/reifiable_spec.rb
|
@@ -139,8 +193,9 @@ files:
|
|
139
193
|
- spec/rtm/utils/sparql_spec.rb
|
140
194
|
- spec/rtm_spec.rb
|
141
195
|
- spec/spec_helper.rb
|
142
|
-
- test/
|
143
|
-
- test/
|
196
|
+
- test/tmapi_tests.rb
|
197
|
+
- test/javalibs/junit-4.5.jar
|
198
|
+
- test/javalibs/tmapi-2.0-tests.jar
|
144
199
|
- LICENSE
|
145
200
|
- DISCLAIMER
|
146
201
|
- README
|
@@ -171,6 +226,6 @@ rubyforge_project: rtm
|
|
171
226
|
rubygems_version: 1.3.5
|
172
227
|
signing_key:
|
173
228
|
specification_version: 3
|
174
|
-
summary: Ruby Topic Maps is a Topic Maps engine written in Ruby
|
229
|
+
summary: Ruby Topic Maps is a Topic Maps engine written in Ruby.
|
175
230
|
test_files: []
|
176
231
|
|
data/lib/rtm/io/ontopia_io.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
-
# License: Apache License, Version 2.0
|
3
|
-
|
4
|
-
|
5
|
-
module RTM::IO
|
6
|
-
# Import and Export of TMAPI Topic Maps
|
7
|
-
# Utilizing the Ontopia libary http://code.google.com/p/tmapix/
|
8
|
-
# Consequently the (de-) serializer provided here
|
9
|
-
# are only Wrapper
|
10
|
-
|
11
|
-
module Ontopia
|
12
|
-
module TopicMap
|
13
|
-
def to_cxtm(filename)
|
14
|
-
raise("Only supported for Ontopia.") unless self.kind_of?(net.ontopia.topicmaps.impl.tmapi2.TopicMapImpl)
|
15
|
-
out_file = java.io.FileOutputStream.new(filename)
|
16
|
-
writer = net.ontopia.topicmaps.xml.CanonicalXTMWriter.new(out_file)
|
17
|
-
writer.write(self.wrapped)
|
18
|
-
out_file.flush
|
19
|
-
out_file.close
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
RTM.register_extension(self)
|
24
|
-
end
|
25
|
-
end
|
data/lib/rtm/io/tmapix.rb
DELETED
@@ -1,234 +0,0 @@
|
|
1
|
-
# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
|
2
|
-
# License: Apache License, Version 2.0
|
3
|
-
|
4
|
-
module RTM::IO
|
5
|
-
# Import and Export of TMAPI Topic Maps
|
6
|
-
# Utilizing the TMAPIX libary http://code.google.com/p/tmapix/
|
7
|
-
# Consequently the (de-) serializer provided here
|
8
|
-
# are only Wrapper
|
9
|
-
|
10
|
-
module TMAPIX
|
11
|
-
module TopicMap
|
12
|
-
|
13
|
-
# Reads a Topic Map from an LTM File
|
14
|
-
# whose location is given as String parameter
|
15
|
-
#
|
16
|
-
# :call-seq:
|
17
|
-
# from_ltm(filename)
|
18
|
-
#
|
19
|
-
def from_ltm(filename)
|
20
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
21
|
-
org.tmapix.io.LTMTopicMapReader.new(self, java.io.File.new(filename)).read
|
22
|
-
end
|
23
|
-
|
24
|
-
# Reads a Topic Map from an CTM File
|
25
|
-
# whose location is given as String parameter
|
26
|
-
#
|
27
|
-
# :call-seq:
|
28
|
-
# from_ctm(filename)
|
29
|
-
#
|
30
|
-
def from_ctm(filename)
|
31
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
32
|
-
org.tmapix.io.CTMTopicMapReader.new(self, java.io.File.new(filename)).read
|
33
|
-
end
|
34
|
-
|
35
|
-
# Reads a JSON Topic Maps (JTM) File
|
36
|
-
# whose location is given as String parameter
|
37
|
-
#
|
38
|
-
# :call-seq:
|
39
|
-
# from_jtm(filename)
|
40
|
-
#
|
41
|
-
def from_jtm(filename)
|
42
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
43
|
-
# seems not to acceped all files that are found to be valid by the JTM validator
|
44
|
-
org.tmapix.io.JTMTopicMapReader.new(self, java.io.File.new(filename)).read
|
45
|
-
end
|
46
|
-
|
47
|
-
# Reads a Friendly Topic Maps XML (TM/XML) File
|
48
|
-
# independent of the version
|
49
|
-
# whose location is given as String parameter
|
50
|
-
#
|
51
|
-
# :call-seq:
|
52
|
-
# from_tmxml(filename)
|
53
|
-
#
|
54
|
-
def from_tmxml(filename)
|
55
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
56
|
-
org.tmapix.io.TMXMLTopicMapReader.new(self, java.io.File.new(filename)).read
|
57
|
-
end
|
58
|
-
|
59
|
-
# Reads a XML Topic Maps (XTM) 1.0 File
|
60
|
-
# whose location is given as String parameter
|
61
|
-
#
|
62
|
-
# :call-seq:
|
63
|
-
# from_xtm10(filename)
|
64
|
-
#
|
65
|
-
def from_xtm10(filename)
|
66
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
67
|
-
org.tmapix.io.XTM10TopicMapReader.new(self, java.io.File.new(filename)).read
|
68
|
-
end
|
69
|
-
|
70
|
-
# Reads a XML Topic Maps (XTM) 2.0 File
|
71
|
-
# whose location is given as String parameter
|
72
|
-
#
|
73
|
-
# :call-seq:
|
74
|
-
# from_xtm20(filename)
|
75
|
-
#
|
76
|
-
def from_xtm20(filename)
|
77
|
-
from_xtm(filename)
|
78
|
-
end
|
79
|
-
|
80
|
-
# Reads a XML Topic Maps (XTM) File
|
81
|
-
# independent of the version
|
82
|
-
# whose location is given as String parameter
|
83
|
-
#
|
84
|
-
# :call-seq:
|
85
|
-
# from_xtm(filename)
|
86
|
-
#
|
87
|
-
def from_xtm(filename)
|
88
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
89
|
-
org.tmapix.io.XTMTopicMapReader.new(self, java.io.File.new(filename)).read
|
90
|
-
end
|
91
|
-
|
92
|
-
# Reads a Notation3 (N3) File
|
93
|
-
# whose location is given as String
|
94
|
-
# a second parameter has to be handed over
|
95
|
-
# providing the mapping vocabulary.
|
96
|
-
# The syntax of the vocabulary is guessed.
|
97
|
-
#
|
98
|
-
# :call-seq:
|
99
|
-
# from_n3(source vocabulary)
|
100
|
-
#
|
101
|
-
def from_n3(filename, vocab)
|
102
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
103
|
-
reader = org.tmapix.io.N3TopicMapReader.new self, java.io.File.new(filename)
|
104
|
-
reader.setMappingSource(java.io.File.new(vocab))
|
105
|
-
reader.read
|
106
|
-
end
|
107
|
-
|
108
|
-
# Reads a RDF/XML File
|
109
|
-
# whose location is given as String
|
110
|
-
# a second parameter has to be handed over
|
111
|
-
# providing the mapping vocabulary.
|
112
|
-
# The syntax of the vocabulary is guessed.
|
113
|
-
#
|
114
|
-
# :call-seq:
|
115
|
-
# from_rdfxml(source vocabulary)
|
116
|
-
#
|
117
|
-
def from_rdfxml(filename, vocab)
|
118
|
-
raise "Only supported for TMAPI backends!!" unless self.kind_of? Java::OrgTmapiCore::TopicMap
|
119
|
-
reader = org.tmapix.io.RDFXMLTopicMapReader.new self, java.io.File.new(filename)
|
120
|
-
reader.setMappingSource(java.io.File.new(vocab))
|
121
|
-
reader.read
|
122
|
-
end
|
123
|
-
|
124
|
-
# Serializes an RTM::TopicMap to XTM v. 2.0.
|
125
|
-
#
|
126
|
-
# The argument filename defines the absolute location of the file that is created.
|
127
|
-
# The argument base_iri is used to resolve IRIs against.
|
128
|
-
#
|
129
|
-
# :call-seq:
|
130
|
-
# to_xtm20(filename, base_iri)
|
131
|
-
#
|
132
|
-
def to_xtm20(filename, base_iri)
|
133
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
134
|
-
out_file = java.io.FileOutputStream.new(filename)
|
135
|
-
writer = org.tmapix.io.XTM20TopicMapWriter.new(out_file, base_iri)
|
136
|
-
writer.write(self)
|
137
|
-
out_file.flush
|
138
|
-
out_file.close
|
139
|
-
end
|
140
|
-
alias :to_xtm :to_xtm20
|
141
|
-
|
142
|
-
# Serializes an RTM::TopicMap to XTM v. 1.0.
|
143
|
-
#
|
144
|
-
# The argument filename defines the absolute location of the file that is created.
|
145
|
-
# The argument base_iri is used to resolve IRIs against.
|
146
|
-
# Both arguments have to be Strings.
|
147
|
-
#
|
148
|
-
# :call-seq:
|
149
|
-
# to_xtm10(filename, base_iri)
|
150
|
-
#
|
151
|
-
def to_xtm10(filename, base_iri)
|
152
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
153
|
-
out_file = java.io.FileOutputStream.new(filename)
|
154
|
-
writer = org.tmapix.io.XTM10TopicMapWriter.new(out_file, base_iri)
|
155
|
-
writer.write(self)
|
156
|
-
out_file.flush
|
157
|
-
out_file.close
|
158
|
-
end
|
159
|
-
|
160
|
-
# Serializes an RTM::TopicMap to JTM.
|
161
|
-
#
|
162
|
-
# The argument filename defines the absolute location of the file that is created.
|
163
|
-
# The argument base_iri is used to resolve IRIs against.
|
164
|
-
#
|
165
|
-
# :call-seq:
|
166
|
-
# to_jtm(filename, base_iri)
|
167
|
-
#
|
168
|
-
def to_jtm(filename, base_iri)
|
169
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
170
|
-
out_file = java.io.FileOutputStream.new(filename)
|
171
|
-
writer = org.tmapix.io.JTMTopicMapWriter.new(out_file, base_iri)
|
172
|
-
writer.write(self)
|
173
|
-
out_file.flush
|
174
|
-
out_file.close
|
175
|
-
end
|
176
|
-
alias :to_json :to_jtm
|
177
|
-
|
178
|
-
# Serializes an RTM::TopicMap to LTM.
|
179
|
-
#
|
180
|
-
# The argument filename defines the absolute location of the file that is created.
|
181
|
-
# The argument base_iri is used to resolve IRIs against.
|
182
|
-
#
|
183
|
-
# :call-seq:
|
184
|
-
# to_ltm(filename, base_iri)
|
185
|
-
#
|
186
|
-
def to_ltm(filename, base_iri)
|
187
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
188
|
-
out_file = java.io.FileOutputStream.new(filename)
|
189
|
-
writer = org.tmapix.io.LTMTopicMapWriter.new(out_file, base_iri)
|
190
|
-
writer.write(self)
|
191
|
-
out_file.flush
|
192
|
-
out_file.close
|
193
|
-
end
|
194
|
-
|
195
|
-
# Serializes an RTM::TopicMap to TM/XML.
|
196
|
-
#
|
197
|
-
# The argument filename defines the absolute location of the file that is created.
|
198
|
-
# The argument base_iri is used to resolve IRIs against.
|
199
|
-
#
|
200
|
-
# :call-seq:
|
201
|
-
# to_tmxml(filename, base_iri)
|
202
|
-
#
|
203
|
-
def to_tmxml(filename, base_iri)
|
204
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
205
|
-
out_file = java.io.FileOutputStream.new(filename)
|
206
|
-
writer = org.tmapix.io.TMXMLTopicMapWriter.new(out_file, base_iri)
|
207
|
-
writer.write(self)
|
208
|
-
out_file.flush
|
209
|
-
out_file.close
|
210
|
-
end
|
211
|
-
|
212
|
-
# Serializes an RTM::TopicMap to CTM.
|
213
|
-
#
|
214
|
-
# The argument filename defines the absolute location of the file that is created.
|
215
|
-
# The argument base_iri is used to resolve IRIs against.
|
216
|
-
#
|
217
|
-
# :call-seq:
|
218
|
-
# to_ctm(filename, base_iri)
|
219
|
-
#
|
220
|
-
def to_ctm(filename, base_iri)
|
221
|
-
raise("Only supported for TMAPI backends.") unless self.kind_of?(Java::OrgTmapiCore::TopicMap)
|
222
|
-
out_file = java.io.FileOutputStream.new(filename)
|
223
|
-
line = "writer.features.export.itemidentifier = false, " + "writer.features.prefixDetection.enabled = false, " + "writer.features.templateDetection.enabled = false, " + "writer.features.templateDetection.topicTemplates = false , " + "writer.features.templateDetection.associationTemplates = false, " + "writer.features.templateMerger.enabled = false"
|
224
|
-
writer = de.topicmapslab.ctm.writer.core.CTMTopicMapWriter.new(out_file, base_iri, line)
|
225
|
-
writer.write(self)
|
226
|
-
out_file.flush
|
227
|
-
out_file.close
|
228
|
-
end
|
229
|
-
|
230
|
-
end
|
231
|
-
|
232
|
-
RTM.register_extension(self)
|
233
|
-
end
|
234
|
-
end
|