yowl 0.4.pre

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.
Files changed (108) hide show
  1. data/CHANGES +15 -0
  2. data/INSTALL-MACOSX.md +107 -0
  3. data/README.md +92 -0
  4. data/Rakefile +76 -0
  5. data/bin/yowl +14 -0
  6. data/examples/introduction.html +5 -0
  7. data/lib/yowl/association.rb +66 -0
  8. data/lib/yowl/class.rb +296 -0
  9. data/lib/yowl/generator.rb +96 -0
  10. data/lib/yowl/import.rb +62 -0
  11. data/lib/yowl/individual.rb +398 -0
  12. data/lib/yowl/individual_association.rb +80 -0
  13. data/lib/yowl/ontology.rb +197 -0
  14. data/lib/yowl/options.rb +116 -0
  15. data/lib/yowl/optionsparser.rb +75 -0
  16. data/lib/yowl/person.rb +26 -0
  17. data/lib/yowl/property.rb +190 -0
  18. data/lib/yowl/repository.rb +100 -0
  19. data/lib/yowl/schema.rb +519 -0
  20. data/lib/yowl/template/css/jquery.ui.all.css +11 -0
  21. data/lib/yowl/template/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/lib/yowl/template/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  23. data/lib/yowl/template/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  24. data/lib/yowl/template/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  25. data/lib/yowl/template/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  26. data/lib/yowl/template/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  27. data/lib/yowl/template/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  28. data/lib/yowl/template/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  29. data/lib/yowl/template/css/smoothness/images/ui-icons_222222_256x240.png +0 -0
  30. data/lib/yowl/template/css/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  31. data/lib/yowl/template/css/smoothness/images/ui-icons_454545_256x240.png +0 -0
  32. data/lib/yowl/template/css/smoothness/images/ui-icons_888888_256x240.png +0 -0
  33. data/lib/yowl/template/css/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  34. data/lib/yowl/template/css/smoothness/jquery-ui-1.8.23.custom.css +563 -0
  35. data/lib/yowl/template/css/yowl.css +414 -0
  36. data/lib/yowl/template/import-diagram.erb +29 -0
  37. data/lib/yowl/template/index.erb +56 -0
  38. data/lib/yowl/template/js/jquery-1.7.2.min.js +4 -0
  39. data/lib/yowl/template/js/jquery-ui-1.8.23.custom.min.js +125 -0
  40. data/lib/yowl/template/js/jquery.ui.accordion.js +611 -0
  41. data/lib/yowl/template/js/yowl.js +72 -0
  42. data/lib/yowl/template/ontology.erb +598 -0
  43. data/lib/yowl/template/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  44. data/lib/yowl/template/themes/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  45. data/lib/yowl/template/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  46. data/lib/yowl/template/themes/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  47. data/lib/yowl/template/themes/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  48. data/lib/yowl/template/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  49. data/lib/yowl/template/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  50. data/lib/yowl/template/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  51. data/lib/yowl/template/themes/base/images/ui-icons_222222_256x240.png +0 -0
  52. data/lib/yowl/template/themes/base/images/ui-icons_2e83ff_256x240.png +0 -0
  53. data/lib/yowl/template/themes/base/images/ui-icons_454545_256x240.png +0 -0
  54. data/lib/yowl/template/themes/base/images/ui-icons_888888_256x240.png +0 -0
  55. data/lib/yowl/template/themes/base/images/ui-icons_cd0a0a_256x240.png +0 -0
  56. data/lib/yowl/template/themes/base/jquery.ui.accordion.css +19 -0
  57. data/lib/yowl/template/themes/base/jquery.ui.all.css +11 -0
  58. data/lib/yowl/template/themes/base/jquery.ui.autocomplete.css +53 -0
  59. data/lib/yowl/template/themes/base/jquery.ui.base.css +11 -0
  60. data/lib/yowl/template/themes/base/jquery.ui.button.css +38 -0
  61. data/lib/yowl/template/themes/base/jquery.ui.core.css +38 -0
  62. data/lib/yowl/template/themes/base/jquery.ui.datepicker.css +66 -0
  63. data/lib/yowl/template/themes/base/jquery.ui.dialog.css +21 -0
  64. data/lib/yowl/template/themes/base/jquery.ui.progressbar.css +11 -0
  65. data/lib/yowl/template/themes/base/jquery.ui.resizable.css +20 -0
  66. data/lib/yowl/template/themes/base/jquery.ui.selectable.css +10 -0
  67. data/lib/yowl/template/themes/base/jquery.ui.slider.css +24 -0
  68. data/lib/yowl/template/themes/base/jquery.ui.tabs.css +18 -0
  69. data/lib/yowl/template/themes/base/jquery.ui.theme.css +247 -0
  70. data/lib/yowl/template/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  71. data/lib/yowl/template/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  72. data/lib/yowl/template/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  73. data/lib/yowl/template/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  74. data/lib/yowl/template/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  75. data/lib/yowl/template/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  76. data/lib/yowl/template/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  77. data/lib/yowl/template/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  78. data/lib/yowl/template/themes/smoothness/images/ui-icons_222222_256x240.png +0 -0
  79. data/lib/yowl/template/themes/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  80. data/lib/yowl/template/themes/smoothness/images/ui-icons_454545_256x240.png +0 -0
  81. data/lib/yowl/template/themes/smoothness/images/ui-icons_888888_256x240.png +0 -0
  82. data/lib/yowl/template/themes/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  83. data/lib/yowl/template/themes/smoothness/jquery-ui-1.8.23.custom.css +563 -0
  84. data/lib/yowl/template/themes/smoothness/jquery.ui.accordion.css +19 -0
  85. data/lib/yowl/template/themes/smoothness/jquery.ui.all.css +11 -0
  86. data/lib/yowl/template/themes/smoothness/jquery.ui.autocomplete.css +53 -0
  87. data/lib/yowl/template/themes/smoothness/jquery.ui.base.css +11 -0
  88. data/lib/yowl/template/themes/smoothness/jquery.ui.button.css +38 -0
  89. data/lib/yowl/template/themes/smoothness/jquery.ui.core.css +38 -0
  90. data/lib/yowl/template/themes/smoothness/jquery.ui.datepicker.css +66 -0
  91. data/lib/yowl/template/themes/smoothness/jquery.ui.dialog.css +21 -0
  92. data/lib/yowl/template/themes/smoothness/jquery.ui.progressbar.css +11 -0
  93. data/lib/yowl/template/themes/smoothness/jquery.ui.resizable.css +20 -0
  94. data/lib/yowl/template/themes/smoothness/jquery.ui.selectable.css +10 -0
  95. data/lib/yowl/template/themes/smoothness/jquery.ui.slider.css +24 -0
  96. data/lib/yowl/template/themes/smoothness/jquery.ui.tabs.css +18 -0
  97. data/lib/yowl/template/themes/smoothness/jquery.ui.theme.css +249 -0
  98. data/lib/yowl/util.rb +221 -0
  99. data/lib/yowl/version.rb +3 -0
  100. data/lib/yowl.rb +42 -0
  101. data/test/input/base-with-comments.ttl +163 -0
  102. data/test/input/base.ttl +221 -0
  103. data/test/input/empty.ttl +8 -0
  104. data/test/input/example.ttl +73 -0
  105. data/test/test_example_ttl.rb +62 -0
  106. data/test/test_yowl.rb +4 -0
  107. data/test/testcases.md +24 -0
  108. metadata +311 -0
@@ -0,0 +1,221 @@
1
+ # baseURI: http://example.org/yowl/tests/ontology/base
2
+
3
+ @prefix : <http://example.org/yowl/tests/ontology/base#> .
4
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
5
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
6
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
7
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
8
+
9
+ <http://example.org/yowl/tests/ontology/base>
10
+ rdf:type owl:Ontology ;
11
+ rdfs:comment "Base test ontology, designed to be imported into other test ontologies to provide a selection of classes, properties & individuals."^^xsd:string .
12
+
13
+ :ClassA
14
+ rdf:type owl:Class ;
15
+ rdfs:label "Class A"^^xsd:string ;
16
+ rdfs:subClassOf owl:Thing .
17
+
18
+ :ClassB
19
+ rdf:type owl:Class ;
20
+ rdfs:label "Class B"^^xsd:string ;
21
+ rdfs:subClassOf owl:Thing .
22
+
23
+ :ClassC
24
+ rdf:type owl:Class ;
25
+ rdfs:label "Class C"^^xsd:string ;
26
+ rdfs:subClassOf owl:Thing .
27
+
28
+ :ClassD
29
+ rdf:type owl:Class ;
30
+ rdfs:label "Class D"^^xsd:string ;
31
+ rdfs:subClassOf owl:Thing .
32
+
33
+ :ClassE
34
+ rdf:type owl:Class ;
35
+ rdfs:label "Class E"^^xsd:string ;
36
+ rdfs:subClassOf owl:Thing .
37
+
38
+ :ClassF
39
+ rdf:type owl:Class ;
40
+ rdfs:label "Class F"^^xsd:string ;
41
+ rdfs:subClassOf owl:Thing .
42
+
43
+ :ClassG
44
+ rdf:type owl:Class ;
45
+ rdfs:label "Class G"^^xsd:string ;
46
+ rdfs:subClassOf owl:Thing .
47
+
48
+ :ClassH
49
+ rdf:type owl:Class ;
50
+ rdfs:label "Class H"^^xsd:string ;
51
+ rdfs:subClassOf owl:Thing .
52
+
53
+ :ClassJ
54
+ rdf:type owl:Class ;
55
+ rdfs:label "Class J"^^xsd:string ;
56
+ rdfs:subClassOf owl:Thing .
57
+
58
+ :ClassK
59
+ rdf:type owl:Class ;
60
+ rdfs:label "Class K"^^xsd:string ;
61
+ rdfs:subClassOf owl:Thing .
62
+
63
+ :IndividualA1
64
+ rdf:type :ClassA ;
65
+ rdfs:label "Individual A1"^^xsd:string .
66
+
67
+ :IndividualA2
68
+ rdf:type :ClassA ;
69
+ rdfs:label "Individual A2"^^xsd:string .
70
+
71
+ :IndividualB1
72
+ rdf:type :ClassB ;
73
+ rdfs:label "Individual B1"^^xsd:string .
74
+
75
+ :IndividualB2
76
+ rdf:type :ClassB ;
77
+ rdfs:label "Individual B2"^^xsd:string .
78
+
79
+ :IndividualC1
80
+ rdf:type :ClassC ;
81
+ rdfs:label "Individual C1"^^xsd:string .
82
+
83
+ :IndividualC2
84
+ rdf:type :ClassC ;
85
+ rdfs:label "Individual C2"^^xsd:string .
86
+
87
+ :IndividualD1
88
+ rdf:type :ClassD ;
89
+ rdfs:label "Individual D1"^^xsd:string .
90
+
91
+ :IndividualD2
92
+ rdf:type :ClassD ;
93
+ rdfs:label "Individual D2"^^xsd:string .
94
+
95
+ :IndividualE1
96
+ rdf:type :ClassE ;
97
+ rdfs:label "Individual E1"^^xsd:string .
98
+
99
+ :IndividualE2
100
+ rdf:type :ClassE ;
101
+ rdfs:label "Individual E2"^^xsd:string .
102
+
103
+ :IndividualF1
104
+ rdf:type :ClassF ;
105
+ rdfs:label "Individual F1"^^xsd:string .
106
+
107
+ :IndividualF2
108
+ rdf:type :ClassF ;
109
+ rdfs:label "Individual F2"^^xsd:string .
110
+
111
+ :IndividualG1
112
+ rdf:type :ClassG ;
113
+ rdfs:label "Individual G1"^^xsd:string .
114
+
115
+ :IndividualG2
116
+ rdf:type :ClassG ;
117
+ rdfs:label "Individual G2"^^xsd:string .
118
+
119
+ :IndividualH1
120
+ rdf:type :ClassH ;
121
+ rdfs:label "Individual H1"^^xsd:string .
122
+
123
+ :IndividualH2
124
+ rdf:type :ClassH ;
125
+ rdfs:label "Individual H2"^^xsd:string .
126
+
127
+ :IndividualJ1
128
+ rdf:type :ClassJ ;
129
+ rdfs:label "Individual J1"^^xsd:string .
130
+
131
+ :IndividualJ2
132
+ rdf:type :ClassJ ;
133
+ rdfs:label "Individual J2"^^xsd:string .
134
+
135
+ :IndividualK1
136
+ rdf:type :ClassK ;
137
+ rdfs:label "Individual K1"^^xsd:string .
138
+
139
+ :IndividualK2
140
+ rdf:type :ClassK ;
141
+ rdfs:label "Individual K2"^^xsd:string .
142
+
143
+ :dPropertyA
144
+ rdf:type owl:DatatypeProperty ;
145
+ rdfs:label "datatype property A"^^xsd:string .
146
+
147
+ :dPropertyB
148
+ rdf:type owl:DatatypeProperty ;
149
+ rdfs:label "datatype property B"^^xsd:string .
150
+
151
+ :dPropertyC
152
+ rdf:type owl:DatatypeProperty ;
153
+ rdfs:label "datatype property C"^^xsd:string .
154
+
155
+ :dPropertyD
156
+ rdf:type owl:DatatypeProperty ;
157
+ rdfs:label "datatype property D"^^xsd:string .
158
+
159
+ :dPropertyE
160
+ rdf:type owl:DatatypeProperty ;
161
+ rdfs:label "datatype property E"^^xsd:string .
162
+
163
+ :dPropertyF
164
+ rdf:type owl:DatatypeProperty ;
165
+ rdfs:label "datatype property F"^^xsd:string .
166
+
167
+ :dPropertyG
168
+ rdf:type owl:DatatypeProperty ;
169
+ rdfs:label "datatype property G"^^xsd:string .
170
+
171
+ :dPropertyH
172
+ rdf:type owl:DatatypeProperty ;
173
+ rdfs:label "datatype property H"^^xsd:string .
174
+
175
+ :dPropertyJ
176
+ rdf:type owl:DatatypeProperty ;
177
+ rdfs:label "datatype property J"^^xsd:string .
178
+
179
+ :dPropertyK
180
+ rdf:type owl:DatatypeProperty ;
181
+ rdfs:label "datatype property K"^^xsd:string .
182
+
183
+ :oPropertyA
184
+ rdf:type owl:ObjectProperty ;
185
+ rdfs:label "object property A"^^xsd:string .
186
+
187
+ :oPropertyB
188
+ rdf:type owl:ObjectProperty ;
189
+ rdfs:label "object property B"^^xsd:string .
190
+
191
+ :oPropertyC
192
+ rdf:type owl:ObjectProperty ;
193
+ rdfs:label "object property C"^^xsd:string .
194
+
195
+ :oPropertyD
196
+ rdf:type owl:ObjectProperty ;
197
+ rdfs:label "object property D"^^xsd:string .
198
+
199
+ :oPropertyE
200
+ rdf:type owl:ObjectProperty ;
201
+ rdfs:label "object property E"^^xsd:string .
202
+
203
+ :oPropertyF
204
+ rdf:type owl:ObjectProperty ;
205
+ rdfs:label "object property F"^^xsd:string .
206
+
207
+ :oPropertyG
208
+ rdf:type owl:ObjectProperty ;
209
+ rdfs:label "object property G"^^xsd:string .
210
+
211
+ :oPropertyH
212
+ rdf:type owl:ObjectProperty ;
213
+ rdfs:label "object property H"^^xsd:string .
214
+
215
+ :oPropertyJ
216
+ rdf:type owl:ObjectProperty ;
217
+ rdfs:label "object property J"^^xsd:string .
218
+
219
+ :oPropertyK
220
+ rdf:type owl:ObjectProperty ;
221
+ rdfs:label "object property K"^^xsd:string .
@@ -0,0 +1,8 @@
1
+ # baseURI: http://example.org/yowl/tests/ontology/empty
2
+
3
+ @prefix : <http://example.org/yowl/tests/ontology/empty#> .
4
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
5
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6
+
7
+ <http://example.org/yowl/tests/ontology/empty>
8
+ rdf:type <http://www.w3.org/2002/07/owl#Ontology> .
@@ -0,0 +1,73 @@
1
+ #General Namespaces
2
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
3
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
4
+ @prefix owl: <http://www.w3.org/2002/07/owl#>.
5
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
6
+ @prefix dcterms: <http://purl.org/dc/terms/>.
7
+ @prefix dctypes: <http://purl.org/dc/dcmitype/>.
8
+ @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
9
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
10
+ @prefix ex: <http://www.example.org/yowl/>.
11
+
12
+ ############################################################################
13
+ # General description of the schema
14
+ ############################################################################
15
+
16
+ <http://www.example.org/yowl/>
17
+ a owl:Ontology;
18
+ dcterms:title "An Example"@en ;
19
+ rdfs:comment "This is a simple example"@en ;
20
+ foaf:maker <http://www.ldodds.com#me> ;
21
+ foaf:maker <http://www.example.org/unknown> ;
22
+ dcterms:created "2010-02-19"^^xsd:date ;
23
+ dcterms:modified "2010-09-28"^^xsd:date .
24
+
25
+ <http://www.ldodds.com#me> a foaf:Person ;
26
+ foaf:name "Leigh Dodds" .
27
+
28
+ <http://www.example.org/unknown> a foaf:Person .
29
+
30
+ ############################################################################
31
+ # Classes
32
+ ############################################################################
33
+
34
+ ex:SomeClass
35
+ a owl:Class;
36
+ rdfs:label "Some Class"@en;
37
+ rdfs:comment "A Class of Things."@en;
38
+ rdfs:seeAlso <http://en.wikipedia.org/>;
39
+ vs:term_status "testing".
40
+
41
+ ex:DerivedClass
42
+ a owl:Class;
43
+ rdfs:subClassOf ex:SomeClass;
44
+ rdfs:label "Derived"@en;
45
+ rdfs:comment "A Derived Class"@en ;
46
+ rdfs:seeAlso <http://www.google.com>;
47
+ vs:term_status "testing".
48
+
49
+ ############################################################################
50
+ # Object Properties
51
+ ############################################################################
52
+
53
+ ex:objectProperty
54
+ a owl:ObjectProperty;
55
+ rdfs:label "object property"@en;
56
+ rdfs:comment "associates Some Class with another thing"@en;
57
+ rdfs:range ex:SomeClass;
58
+ rdfs:domain ex:SomeClass;
59
+ vs:term_status "testing".
60
+
61
+ ############################################################################
62
+ # Datatype Properties
63
+ ############################################################################
64
+
65
+ ex:datatypeProperty
66
+ a owl:DatatypeProperty;
67
+ rdfs:label "datatype property"@en;
68
+ rdfs:comment "a datatype property"@en;
69
+ rdfs:range xsd:string;
70
+ rdfs:domain ex:DerivedClass;
71
+ vs:term_status "testing".
72
+
73
+
@@ -0,0 +1,62 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ require 'yowl'
3
+ require 'test/unit'
4
+
5
+ class OntologyTest < Test::Unit::TestCase
6
+
7
+ @schema = nil
8
+
9
+ def setup
10
+
11
+ argv = [
12
+ '-i', 'test/input/example.ttl',
13
+ '--no-vann',
14
+ '--quiet'
15
+ ]
16
+ options = YOWL::OptionsParser.parse(argv)
17
+ repository = YOWL::Repository.new(options)
18
+ repository.ontologies.each() do | ontology |
19
+ if (ontology.short_name == 'example')
20
+ @schema = ontology.schema
21
+ end
22
+ end
23
+ assert_not_nil(@schema)
24
+ end
25
+
26
+ def test_read_classes_from_sample()
27
+ classes = @schema.classes()
28
+ assert_not_nil classes
29
+ assert_equal(2, classes.length)
30
+ end
31
+
32
+
33
+ def test_get_title
34
+ assert_equal("An Example", @schema.ontology.title)
35
+ end
36
+
37
+ def test_get_comment
38
+ assert_equal("This is a simple example", @schema.ontology.comment)
39
+ end
40
+
41
+ def test_get_created
42
+ assert_equal("2010-02-19", @schema.ontology.created)
43
+ end
44
+
45
+ def test_get_created
46
+ assert_equal("2010-09-28", @schema.ontology.modified)
47
+ end
48
+
49
+ def test_get_authors
50
+ assert_equal(2 , @schema.ontology.authors.length)
51
+ author = @schema.ontology.authors[0]
52
+ assert_equal("http://www.ldodds.com#me", author.uri)
53
+ assert_equal("Leigh Dodds", author.name)
54
+
55
+ author = @schema.ontology.authors[1]
56
+ assert_equal("http://www.example.org/unknown", author.uri)
57
+ assert_equal("http://www.example.org/unknown", author.name)
58
+
59
+ end
60
+
61
+
62
+ end
data/test/test_yowl.rb ADDED
@@ -0,0 +1,4 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+ require 'test/unit'
3
+
4
+ require 'test_example_ttl.rb'
data/test/testcases.md ADDED
@@ -0,0 +1,24 @@
1
+ # Ontology Test Cases #
2
+
3
+ * [Empty ontology](input/empty.ttl).
4
+ * [Class/property/individual labels and comments](input/base-with-comments.ttl).
5
+ * 'sameAs' relationships between classes, properties and/or individuals.
6
+ * OWL class with one or more keys.
7
+ * OWL individuals with simple/compound key values.
8
+ * Multiple individuals with the same key value(s).
9
+ * Properties with and without domains and ranges.
10
+ * Properties with multiple domains and/or ranges.
11
+ * Class hierarchies & property hierarchies.
12
+ * How clearly are these displayed?
13
+ * Especially in diagrams.
14
+ * Display of super/subclasses and super/subproperties in documentation & diagrams.
15
+ * Classes with constraints on their properties - range and cardinality.
16
+ * Hierarchical constraints within class hierarchies, i.e. constraints becoming tighter as classes are derived.
17
+ * Class with huge number of subclasses, property with huge number of sub properties.
18
+ * Class with huge number of constraints.
19
+ * Property with huge number of domains, property with huge number of ranges.
20
+ * Classes with annotations.
21
+ * Use of namespace prefixes in documentation & diagrams.
22
+ * OWL property chains.
23
+ * Hyperlinking of diagrams to class/property/individual definitions.
24
+ * Index/search facility for documentation.