File Coverage

blib/lib/ODO/Jena/DB/Settings.pm
Criterion Covered Total %
statement 357 1127 31.6
branch 0 298 0.0
condition 0 111 0.0
subroutine 119 196 60.7
pod 2 4 50.0
total 478 1736 27.5


line stmt bran cond sub pod time code
1             package ODO::Jena::DB::Settings;
2 1     1   1987 use strict;
  1         2  
  1         31  
3 1     1   4 use warnings;
  1         1  
  1         26  
4 1     1   4 use vars qw( @ISA );
  1         2  
  1         33  
5 1     1   3 use ODO;
  1         2  
  1         36  
6 1     1   4 use ODO::Query::Simple;
  1         2  
  1         26  
7 1     1   12 use ODO::Statement::Group;
  1         1  
  1         31  
8 1     1   4 use ODO::Ontology::RDFS::BaseClass;
  1         1  
  1         48  
9              
10             @ISA = ( 'ODO::Ontology::RDFS::BaseClass', );
11 1     1   4 use vars qw /$VERSION/;
  1         2  
  1         1418  
12             $VERSION = sprintf "%d.%02d", q$Revision: 1.5 $ =~ /: (\d+)\.(\d+)/;
13             #
14             # Description:
15             #
16             # Schema URI: http://ibm-slrp.sourceforge.net/uris/odo/2007/01/jena-db-schema#
17             #
18             sub new {
19 0     0 1   my $self = shift;
20 0           my ( $resource, $graph, %properties ) = @_;
21 0           $self = $self->SUPER::new(@_);
22             return undef
23 0 0         unless ( ref $self );
24 0           $self->propertyContainerName(
25             'ODO::Jena::DB::Settings::PropertiesContainer');
26 0           $self->properties( bless {},
27             'ODO::Jena::DB::Settings::PropertiesContainer' );
28 0           $self->properties()->{'parent'} = $self;
29 0 0 0       if ( exists( $properties{'Graph'} )
30             && defined( $properties{'Graph'} ) )
31             {
32              
33 0 0         unless (
34             UNIVERSAL::isa(
35             $properties{'Graph'},
36             'ODO::Jena::DB::Properties::Graph'
37             )
38             )
39             {
40 0           return undef;
41             }
42 0 0         unless ( $self->can('properties') ) {
43 0           return undef;
44             }
45 0 0         unless ( $self->properties()->can('Graph') ) {
46 0           return undef;
47             }
48 0           $self->properties()->Graph( $properties{'Graph'} );
49             }
50 0 0 0       if ( exists( $properties{'FormatDate'} )
51             && defined( $properties{'FormatDate'} ) )
52             {
53 0 0         unless (
54             UNIVERSAL::isa(
55             $properties{'FormatDate'},
56             'ODO::Jena::DB::Properties::FormatDate'
57             )
58             )
59             {
60 0           return undef;
61             }
62 0 0         unless ( $self->can('properties') ) {
63 0           return undef;
64             }
65 0 0         unless ( $self->properties()->can('FormatDate') ) {
66 0           return undef;
67             }
68 0           $self->properties()->FormatDate( $properties{'FormatDate'} );
69             }
70 0 0 0       if ( exists( $properties{'SystemGraph'} )
71             && defined( $properties{'SystemGraph'} ) )
72             {
73 0 0         unless (
74             UNIVERSAL::isa(
75             $properties{'SystemGraph'},
76             'ODO::Jena::DB::Properties::SystemGraph'
77             )
78             )
79             {
80 0           return undef;
81             }
82 0 0         unless ( $self->can('properties') ) {
83 0           return undef;
84             }
85 0 0         unless ( $self->properties()->can('SystemGraph') ) {
86 0           return undef;
87             }
88 0           $self->properties()->SystemGraph( $properties{'SystemGraph'} );
89             }
90 0 0 0       if ( exists( $properties{'TableNamePrefix'} )
91             && defined( $properties{'TableNamePrefix'} ) )
92             {
93 0 0         unless (
94             UNIVERSAL::isa(
95             $properties{'TableNamePrefix'},
96             'ODO::Jena::DB::Properties::TableNamePrefix'
97             )
98             )
99             {
100 0           return undef;
101             }
102 0 0         unless ( $self->can('properties') ) {
103 0           return undef;
104             }
105 0 0         unless ( $self->properties()->can('TableNamePrefix') ) {
106 0           return undef;
107             }
108 0           $self->properties()->TableNamePrefix( $properties{'TableNamePrefix'} );
109             }
110 0 0 0       if ( exists( $properties{'IndexKeyLength'} )
111             && defined( $properties{'IndexKeyLength'} ) )
112             {
113 0 0         unless (
114             UNIVERSAL::isa(
115             $properties{'IndexKeyLength'},
116             'ODO::Jena::DB::Properties::IndexKeyLength'
117             )
118             )
119             {
120 0           return undef;
121             }
122 0 0         unless ( $self->can('properties') ) {
123 0           return undef;
124             }
125 0 0         unless ( $self->properties()->can('IndexKeyLength') ) {
126 0           return undef;
127             }
128 0           $self->properties()->IndexKeyLength( $properties{'IndexKeyLength'} );
129             }
130 0 0 0       if ( exists( $properties{'LongObjectLength'} )
131             && defined( $properties{'LongObjectLength'} ) )
132             {
133 0 0         unless (
134             UNIVERSAL::isa(
135             $properties{'LongObjectLength'},
136             'ODO::Jena::DB::Properties::LongObjectLength'
137             )
138             )
139             {
140 0           return undef;
141             }
142 0 0         unless ( $self->can('properties') ) {
143 0           return undef;
144             }
145 0 0         unless ( $self->properties()->can('LongObjectLength') ) {
146 0           return undef;
147             }
148             $self->properties()
149 0           ->LongObjectLength( $properties{'LongObjectLength'} );
150             }
151 0 0 0       if ( exists( $properties{'IsTransactionDb'} )
152             && defined( $properties{'IsTransactionDb'} ) )
153             {
154 0 0         unless (
155             UNIVERSAL::isa(
156             $properties{'IsTransactionDb'},
157             'ODO::Jena::DB::Properties::IsTransactionDb'
158             )
159             )
160             {
161 0           return undef;
162             }
163 0 0         unless ( $self->can('properties') ) {
164 0           return undef;
165             }
166 0 0         unless ( $self->properties()->can('IsTransactionDb') ) {
167 0           return undef;
168             }
169 0           $self->properties()->IsTransactionDb( $properties{'IsTransactionDb'} );
170             }
171 0 0 0       if ( exists( $properties{'EngineType'} )
172             && defined( $properties{'EngineType'} ) )
173             {
174 0 0         unless (
175             UNIVERSAL::isa(
176             $properties{'EngineType'},
177             'ODO::Jena::DB::Properties::EngineType'
178             )
179             )
180             {
181 0           return undef;
182             }
183 0 0         unless ( $self->can('properties') ) {
184 0           return undef;
185             }
186 0 0         unless ( $self->properties()->can('EngineType') ) {
187 0           return undef;
188             }
189 0           $self->properties()->EngineType( $properties{'EngineType'} );
190             }
191 0 0 0       if ( exists( $properties{'CompressURILength'} )
192             && defined( $properties{'CompressURILength'} ) )
193             {
194 0 0         unless (
195             UNIVERSAL::isa(
196             $properties{'CompressURILength'},
197             'ODO::Jena::DB::Properties::CompressURILength'
198             )
199             )
200             {
201 0           return undef;
202             }
203 0 0         unless ( $self->can('properties') ) {
204 0           return undef;
205             }
206 0 0         unless ( $self->properties()->can('CompressURILength') ) {
207 0           return undef;
208             }
209             $self->properties()
210 0           ->CompressURILength( $properties{'CompressURILength'} );
211             }
212 0 0 0       if ( exists( $properties{'LayoutVersion'} )
213             && defined( $properties{'LayoutVersion'} ) )
214             {
215 0 0         unless (
216             UNIVERSAL::isa(
217             $properties{'LayoutVersion'},
218             'ODO::Jena::DB::Properties::LayoutVersion'
219             )
220             )
221             {
222 0           return undef;
223             }
224 0 0         unless ( $self->can('properties') ) {
225 0           return undef;
226             }
227 0 0         unless ( $self->properties()->can('LayoutVersion') ) {
228 0           return undef;
229             }
230 0           $self->properties()->LayoutVersion( $properties{'LayoutVersion'} );
231             }
232 0 0 0       if ( exists( $properties{'DoCompressURI'} )
233             && defined( $properties{'DoCompressURI'} ) )
234             {
235 0 0         unless (
236             UNIVERSAL::isa(
237             $properties{'DoCompressURI'},
238             'ODO::Jena::DB::Properties::DoCompressURI'
239             )
240             )
241             {
242 0           return undef;
243             }
244 0 0         unless ( $self->can('properties') ) {
245 0           return undef;
246             }
247 0 0         unless ( $self->properties()->can('DoCompressURI') ) {
248 0           return undef;
249             }
250 0           $self->properties()->DoCompressURI( $properties{'DoCompressURI'} );
251             }
252 0 0 0       if ( exists( $properties{'DriverVersion'} )
253             && defined( $properties{'DriverVersion'} ) )
254             {
255 0 0         unless (
256             UNIVERSAL::isa(
257             $properties{'DriverVersion'},
258             'ODO::Jena::DB::Properties::DriverVersion'
259             )
260             )
261             {
262 0           return undef;
263             }
264 0 0         unless ( $self->can('properties') ) {
265 0           return undef;
266             }
267 0 0         unless ( $self->properties()->can('DriverVersion') ) {
268 0           return undef;
269             }
270 0           $self->properties()->DriverVersion( $properties{'DriverVersion'} );
271             }
272 0           return $self;
273             }
274              
275             sub queryString {
276             return
277 0     0 0   '(?subj, rdf:type, )';
278             }
279              
280             sub objectURI {
281             return
282 0     0 0   'http://ibm-slrp.sourceforge.net/uris/odo/2007/01/jena-db-schema#Settings';
283             }
284              
285             sub value {
286 0     0 1   my $self = shift;
287 0 0         return $self->subject()
288             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
289 0           return $self->__to_statement_array();
290             }
291              
292             sub __to_statement_array {
293 0     0     my $self = shift;
294 0           my $statements = [];
295 0           foreach my $my_super (@ISA) {
296             next
297 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
298 0           my $super_func = "${my_super}::__to_statement_array";
299 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
300             }
301 0           my %properties = (
302             '' => '',
303             'Graph' => 'ODO::Jena::DB::Properties::Graph',
304             'FormatDate' => 'ODO::Jena::DB::Properties::FormatDate',
305             'SystemGraph' => 'ODO::Jena::DB::Properties::SystemGraph',
306             'TableNamePrefix' => 'ODO::Jena::DB::Properties::TableNamePrefix',
307             'IndexKeyLength' => 'ODO::Jena::DB::Properties::IndexKeyLength',
308             'LongObjectLength' => 'ODO::Jena::DB::Properties::LongObjectLength',
309             'IsTransactionDb' => 'ODO::Jena::DB::Properties::IsTransactionDb',
310             'EngineType' => 'ODO::Jena::DB::Properties::EngineType',
311             'CompressURILength' => 'ODO::Jena::DB::Properties::CompressURILength',
312             'LayoutVersion' => 'ODO::Jena::DB::Properties::LayoutVersion',
313             'DoCompressURI' => 'ODO::Jena::DB::Properties::DoCompressURI',
314             'DriverVersion' => 'ODO::Jena::DB::Properties::DriverVersion',
315             );
316 0           foreach my $propertyName ( keys(%properties) ) {
317             next
318 0 0 0       unless ( $propertyName && $propertyName ne '' );
319 0           my $property = $self->properties()->$propertyName();
320 0           foreach my $p ( @{$property} ) {
  0            
321 0           my $p_value = $p->value();
322 0           my $property_uri = ODO::Node::Resource->new(
323             $properties{$propertyName}->objectURI() );
324 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
325 0           push @{$statements},
  0            
326             ODO::Statement->new( $self->subject(), $property_uri,
327             $p_value );
328             } else {
329 0           push @{$statements},
  0            
330             ODO::Statement->new( $self->subject(), $property_uri,
331             $p->subject() );
332 0           push @{$statements}, @{$p_value};
  0            
  0            
333             }
334             }
335             }
336 0           return $statements;
337             }
338             1;
339              
340             package ODO::Jena::DB::Settings::PropertiesContainer;
341 1     1   7 use strict;
  1         1  
  1         71  
342 1     1   5 use warnings;
  1         2  
  1         40  
343 1     1   35 use vars qw( $AUTOLOAD @ISA );
  1         2  
  1         2401  
344             @ISA = ( 'ODO::RDFS::Class::PropertiesContainer', );
345              
346             # Methods
347             sub Graph {
348 0     0     my $self = shift;
349 0           my $parent = $self->{'parent'};
350 0 0         unless ($parent) {
351 0           die('Fatal error in property container: parent object is not defined!');
352             }
353 0 0 0       if ( scalar(@_) > 0
354             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::Graph' ) )
355             {
356 0           my $value = $_[0]->value();
357 0           my $property =
358             ODO::Node::Resource->new(
359             ODO::Jena::DB::Properties::Graph->objectURI() );
360 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
361 0           my $stmt =
362             ODO::Statement->new( $parent->subject(), $property, $value );
363 0           $parent->graph()->add($stmt);
364             } else {
365              
366             # The property's value is a URI with other attached URIs so add them
367             # all to the graph
368 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
369             $_[0]->subject() );
370 0           $parent->graph()->add($stmt);
371 0           $parent->graph()->add( @{$value} );
  0            
372             }
373             }
374 0           return $parent->get_property_values('ODO::Jena::DB::Properties::Graph');
375             }
376              
377             sub FormatDate {
378 0     0     my $self = shift;
379 0           my $parent = $self->{'parent'};
380 0 0         unless ($parent) {
381 0           die('Fatal error in property container: parent object is not defined!');
382             }
383 0 0 0       if ( scalar(@_) > 0
384             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::FormatDate' ) )
385             {
386 0           my $value = $_[0]->value();
387 0           my $property =
388             ODO::Node::Resource->new(
389             ODO::Jena::DB::Properties::FormatDate->objectURI() );
390 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
391 0           my $stmt =
392             ODO::Statement->new( $parent->subject(), $property, $value );
393 0           $parent->graph()->add($stmt);
394             } else {
395              
396             # The property's value is a URI with other attached URIs so add them
397             # all to the graph
398 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
399             $_[0]->subject() );
400 0           $parent->graph()->add($stmt);
401 0           $parent->graph()->add( @{$value} );
  0            
402             }
403             }
404 0           return $parent->get_property_values(
405             'ODO::Jena::DB::Properties::FormatDate');
406             }
407              
408             sub SystemGraph {
409 0     0     my $self = shift;
410 0           my $parent = $self->{'parent'};
411 0 0         unless ($parent) {
412 0           die('Fatal error in property container: parent object is not defined!');
413             }
414 0 0 0       if ( scalar(@_) > 0
415             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::SystemGraph' ) )
416             {
417 0           my $value = $_[0]->value();
418 0           my $property =
419             ODO::Node::Resource->new(
420             ODO::Jena::DB::Properties::SystemGraph->objectURI() );
421 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
422 0           my $stmt =
423             ODO::Statement->new( $parent->subject(), $property, $value );
424 0           $parent->graph()->add($stmt);
425             } else {
426              
427             # The property's value is a URI with other attached URIs so add them
428             # all to the graph
429 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
430             $_[0]->subject() );
431 0           $parent->graph()->add($stmt);
432 0           $parent->graph()->add( @{$value} );
  0            
433             }
434             }
435 0           return $parent->get_property_values(
436             'ODO::Jena::DB::Properties::SystemGraph');
437             }
438              
439             sub TableNamePrefix {
440 0     0     my $self = shift;
441 0           my $parent = $self->{'parent'};
442 0 0         unless ($parent) {
443 0           die('Fatal error in property container: parent object is not defined!');
444             }
445 0 0 0       if ( scalar(@_) > 0
446             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::TableNamePrefix' )
447             )
448             {
449 0           my $value = $_[0]->value();
450 0           my $property =
451             ODO::Node::Resource->new(
452             ODO::Jena::DB::Properties::TableNamePrefix->objectURI() );
453 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
454 0           my $stmt =
455             ODO::Statement->new( $parent->subject(), $property, $value );
456 0           $parent->graph()->add($stmt);
457             } else {
458              
459             # The property's value is a URI with other attached URIs so add them
460             # all to the graph
461 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
462             $_[0]->subject() );
463 0           $parent->graph()->add($stmt);
464 0           $parent->graph()->add( @{$value} );
  0            
465             }
466             }
467 0           return $parent->get_property_values(
468             'ODO::Jena::DB::Properties::TableNamePrefix');
469             }
470              
471             sub IndexKeyLength {
472 0     0     my $self = shift;
473 0           my $parent = $self->{'parent'};
474 0 0         unless ($parent) {
475 0           die('Fatal error in property container: parent object is not defined!');
476             }
477 0 0 0       if ( scalar(@_) > 0
478             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::IndexKeyLength' )
479             )
480             {
481 0           my $value = $_[0]->value();
482 0           my $property =
483             ODO::Node::Resource->new(
484             ODO::Jena::DB::Properties::IndexKeyLength->objectURI() );
485 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
486 0           my $stmt =
487             ODO::Statement->new( $parent->subject(), $property, $value );
488 0           $parent->graph()->add($stmt);
489             } else {
490              
491             # The property's value is a URI with other attached URIs so add them
492             # all to the graph
493 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
494             $_[0]->subject() );
495 0           $parent->graph()->add($stmt);
496 0           $parent->graph()->add( @{$value} );
  0            
497             }
498             }
499 0           return $parent->get_property_values(
500             'ODO::Jena::DB::Properties::IndexKeyLength');
501             }
502              
503             sub LongObjectLength {
504 0     0     my $self = shift;
505 0           my $parent = $self->{'parent'};
506 0 0         unless ($parent) {
507 0           die('Fatal error in property container: parent object is not defined!');
508             }
509 0 0 0       if ( scalar(@_) > 0
510             && UNIVERSAL::isa( $_[0],
511             'ODO::Jena::DB::Properties::LongObjectLength' ) )
512             {
513 0           my $value = $_[0]->value();
514 0           my $property =
515             ODO::Node::Resource->new(
516             ODO::Jena::DB::Properties::LongObjectLength->objectURI() );
517 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
518 0           my $stmt =
519             ODO::Statement->new( $parent->subject(), $property, $value );
520 0           $parent->graph()->add($stmt);
521             } else {
522              
523             # The property's value is a URI with other attached URIs so add them
524             # all to the graph
525 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
526             $_[0]->subject() );
527 0           $parent->graph()->add($stmt);
528 0           $parent->graph()->add( @{$value} );
  0            
529             }
530             }
531 0           return $parent->get_property_values(
532             'ODO::Jena::DB::Properties::LongObjectLength');
533             }
534              
535             sub IsTransactionDb {
536 0     0     my $self = shift;
537 0           my $parent = $self->{'parent'};
538 0 0         unless ($parent) {
539 0           die('Fatal error in property container: parent object is not defined!');
540             }
541 0 0 0       if ( scalar(@_) > 0
542             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::IsTransactionDb' )
543             )
544             {
545 0           my $value = $_[0]->value();
546 0           my $property =
547             ODO::Node::Resource->new(
548             ODO::Jena::DB::Properties::IsTransactionDb->objectURI() );
549 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
550 0           my $stmt =
551             ODO::Statement->new( $parent->subject(), $property, $value );
552 0           $parent->graph()->add($stmt);
553             } else {
554              
555             # The property's value is a URI with other attached URIs so add them
556             # all to the graph
557 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
558             $_[0]->subject() );
559 0           $parent->graph()->add($stmt);
560 0           $parent->graph()->add( @{$value} );
  0            
561             }
562             }
563 0           return $parent->get_property_values(
564             'ODO::Jena::DB::Properties::IsTransactionDb');
565             }
566              
567             sub EngineType {
568 0     0     my $self = shift;
569 0           my $parent = $self->{'parent'};
570 0 0         unless ($parent) {
571 0           die('Fatal error in property container: parent object is not defined!');
572             }
573 0 0 0       if ( scalar(@_) > 0
574             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::EngineType' ) )
575             {
576 0           my $value = $_[0]->value();
577 0           my $property =
578             ODO::Node::Resource->new(
579             ODO::Jena::DB::Properties::EngineType->objectURI() );
580 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
581 0           my $stmt =
582             ODO::Statement->new( $parent->subject(), $property, $value );
583 0           $parent->graph()->add($stmt);
584             } else {
585              
586             # The property's value is a URI with other attached URIs so add them
587             # all to the graph
588 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
589             $_[0]->subject() );
590 0           $parent->graph()->add($stmt);
591 0           $parent->graph()->add( @{$value} );
  0            
592             }
593             }
594 0           return $parent->get_property_values(
595             'ODO::Jena::DB::Properties::EngineType');
596             }
597              
598             sub CompressURILength {
599 0     0     my $self = shift;
600 0           my $parent = $self->{'parent'};
601 0 0         unless ($parent) {
602 0           die('Fatal error in property container: parent object is not defined!');
603             }
604 0 0 0       if ( scalar(@_) > 0
605             && UNIVERSAL::isa( $_[0],
606             'ODO::Jena::DB::Properties::CompressURILength' ) )
607             {
608 0           my $value = $_[0]->value();
609 0           my $property =
610             ODO::Node::Resource->new(
611             ODO::Jena::DB::Properties::CompressURILength->objectURI() );
612 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
613 0           my $stmt =
614             ODO::Statement->new( $parent->subject(), $property, $value );
615 0           $parent->graph()->add($stmt);
616             } else {
617              
618             # The property's value is a URI with other attached URIs so add them
619             # all to the graph
620 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
621             $_[0]->subject() );
622 0           $parent->graph()->add($stmt);
623 0           $parent->graph()->add( @{$value} );
  0            
624             }
625             }
626 0           return $parent->get_property_values(
627             'ODO::Jena::DB::Properties::CompressURILength');
628             }
629              
630             sub LayoutVersion {
631 0     0     my $self = shift;
632 0           my $parent = $self->{'parent'};
633 0 0         unless ($parent) {
634 0           die('Fatal error in property container: parent object is not defined!');
635             }
636 0 0 0       if ( scalar(@_) > 0
637             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::LayoutVersion' ) )
638             {
639 0           my $value = $_[0]->value();
640 0           my $property =
641             ODO::Node::Resource->new(
642             ODO::Jena::DB::Properties::LayoutVersion->objectURI() );
643 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
644 0           my $stmt =
645             ODO::Statement->new( $parent->subject(), $property, $value );
646 0           $parent->graph()->add($stmt);
647             } else {
648              
649             # The property's value is a URI with other attached URIs so add them
650             # all to the graph
651 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
652             $_[0]->subject() );
653 0           $parent->graph()->add($stmt);
654 0           $parent->graph()->add( @{$value} );
  0            
655             }
656             }
657 0           return $parent->get_property_values(
658             'ODO::Jena::DB::Properties::LayoutVersion');
659             }
660              
661             sub DoCompressURI {
662 0     0     my $self = shift;
663 0           my $parent = $self->{'parent'};
664 0 0         unless ($parent) {
665 0           die('Fatal error in property container: parent object is not defined!');
666             }
667 0 0 0       if ( scalar(@_) > 0
668             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::DoCompressURI' ) )
669             {
670 0           my $value = $_[0]->value();
671 0           my $property =
672             ODO::Node::Resource->new(
673             ODO::Jena::DB::Properties::DoCompressURI->objectURI() );
674 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
675 0           my $stmt =
676             ODO::Statement->new( $parent->subject(), $property, $value );
677 0           $parent->graph()->add($stmt);
678             } else {
679              
680             # The property's value is a URI with other attached URIs so add them
681             # all to the graph
682 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
683             $_[0]->subject() );
684 0           $parent->graph()->add($stmt);
685 0           $parent->graph()->add( @{$value} );
  0            
686             }
687             }
688 0           return $parent->get_property_values(
689             'ODO::Jena::DB::Properties::DoCompressURI');
690             }
691              
692             sub DriverVersion {
693 0     0     my $self = shift;
694 0           my $parent = $self->{'parent'};
695 0 0         unless ($parent) {
696 0           die('Fatal error in property container: parent object is not defined!');
697             }
698 0 0 0       if ( scalar(@_) > 0
699             && UNIVERSAL::isa( $_[0], 'ODO::Jena::DB::Properties::DriverVersion' ) )
700             {
701 0           my $value = $_[0]->value();
702 0           my $property =
703             ODO::Node::Resource->new(
704             ODO::Jena::DB::Properties::DriverVersion->objectURI() );
705 0 0         if ( UNIVERSAL::isa( $value, 'ODO::Node::Literal' ) ) {
706 0           my $stmt =
707             ODO::Statement->new( $parent->subject(), $property, $value );
708 0           $parent->graph()->add($stmt);
709             } else {
710              
711             # The property's value is a URI with other attached URIs so add them
712             # all to the graph
713 0           my $stmt = ODO::Statement->new( $parent->subject(), $property,
714             $_[0]->subject() );
715 0           $parent->graph()->add($stmt);
716 0           $parent->graph()->add( @{$value} );
  0            
717             }
718             }
719 0           return $parent->get_property_values(
720             'ODO::Jena::DB::Properties::DriverVersion');
721             }
722             1;
723              
724             package ODO::Jena::DB::Properties::DriverVersion;
725 1     1   6 use strict;
  1         2  
  1         24  
726 1     1   4 use warnings;
  1         2  
  1         32  
727 1     1   4 use vars qw( @ISA );
  1         3  
  1         29  
728 1     1   4 use ODO;
  1         1  
  1         36  
729 1     1   5 use ODO::Query::Simple;
  1         2  
  1         33  
730 1     1   6 use ODO::Statement::Group;
  1         3  
  1         449  
731             @ISA = ( 'ODO::RDFS::Property', );
732              
733             #
734             # Description:
735             #
736             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
737             #
738             sub new {
739 0     0     my $self = shift;
740 0           my ( $resource, $graph, %properties ) = @_;
741 0           $self = $self->SUPER::new(@_);
742             return undef
743 0 0         unless ( ref $self );
744 0           $self->propertyContainerName(
745             'ODO::Jena::DB::Properties::DriverVersion::PropertiesContainer');
746 0           $self->properties( bless {},
747             'ODO::Jena::DB::Properties::DriverVersion::PropertiesContainer' );
748 0           $self->properties()->{'parent'} = $self;
749 0           return $self;
750             }
751              
752             sub queryString {
753             return
754 0     0     '(?subj, rdf:type, )';
755             }
756              
757             sub objectURI {
758 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#DriverVersion';
759             }
760              
761             sub value {
762 0     0     my $self = shift;
763 0 0         return $self->subject()
764             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
765 0           return $self->__to_statement_array();
766             }
767              
768             sub __to_statement_array {
769 0     0     my $self = shift;
770 0           my $statements = [];
771 0           foreach my $my_super (@ISA) {
772             next
773 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
774 0           my $super_func = "${my_super}::__to_statement_array";
775 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
776             }
777 0           my %properties = ( '' => '', );
778 0           foreach my $propertyName ( keys(%properties) ) {
779             next
780 0 0 0       unless ( $propertyName && $propertyName ne '' );
781 0           my $property = $self->properties()->$propertyName();
782 0           foreach my $p ( @{$property} ) {
  0            
783 0           my $p_value = $p->value();
784 0           my $property_uri = ODO::Node::Resource->new(
785             $properties{$propertyName}->objectURI() );
786 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
787 0           push @{$statements},
  0            
788             ODO::Statement->new( $self->subject(), $property_uri,
789             $p_value );
790             } else {
791 0           push @{$statements},
  0            
792             ODO::Statement->new( $self->subject(), $property_uri,
793             $p->subject() );
794 0           push @{$statements}, @{$p_value};
  0            
  0            
795             }
796             }
797             }
798 0           return $statements;
799             }
800             1;
801              
802             package ODO::Jena::DB::Properties::DriverVersion::PropertiesContainer;
803 1     1   5 use strict;
  1         2  
  1         23  
804 1     1   4 use warnings;
  1         7  
  1         27  
805 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         2  
  1         70  
806             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
807              
808             # Methods
809             1;
810              
811             package ODO::Jena::DB::Properties::IndexKeyLength;
812 1     1   6 use strict;
  1         2  
  1         20  
813 1     1   5 use warnings;
  1         1  
  1         24  
814 1     1   5 use vars qw( @ISA );
  1         2  
  1         29  
815 1     1   5 use ODO;
  1         1  
  1         24  
816 1     1   7 use ODO::Query::Simple;
  1         2  
  1         36  
817 1     1   5 use ODO::Statement::Group;
  1         2  
  1         459  
818             @ISA = ( 'ODO::RDFS::Property', );
819              
820             #
821             # Description:
822             #
823             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
824             #
825             sub new {
826 0     0     my $self = shift;
827 0           my ( $resource, $graph, %properties ) = @_;
828 0           $self = $self->SUPER::new(@_);
829             return undef
830 0 0         unless ( ref $self );
831 0           $self->propertyContainerName(
832             'ODO::Jena::DB::Properties::IndexKeyLength::PropertiesContainer');
833 0           $self->properties( bless {},
834             'ODO::Jena::DB::Properties::IndexKeyLength::PropertiesContainer' );
835 0           $self->properties()->{'parent'} = $self;
836 0           return $self;
837             }
838              
839             sub queryString {
840             return
841 0     0     '(?subj, rdf:type, )';
842             }
843              
844             sub objectURI {
845 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#IndexKeyLength';
846             }
847              
848             sub value {
849 0     0     my $self = shift;
850 0 0         return $self->subject()
851             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
852 0           return $self->__to_statement_array();
853             }
854              
855             sub __to_statement_array {
856 0     0     my $self = shift;
857 0           my $statements = [];
858 0           foreach my $my_super (@ISA) {
859             next
860 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
861 0           my $super_func = "${my_super}::__to_statement_array";
862 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
863             }
864 0           my %properties = ( '' => '', );
865 0           foreach my $propertyName ( keys(%properties) ) {
866             next
867 0 0 0       unless ( $propertyName && $propertyName ne '' );
868 0           my $property = $self->properties()->$propertyName();
869 0           foreach my $p ( @{$property} ) {
  0            
870 0           my $p_value = $p->value();
871 0           my $property_uri = ODO::Node::Resource->new(
872             $properties{$propertyName}->objectURI() );
873 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
874 0           push @{$statements},
  0            
875             ODO::Statement->new( $self->subject(), $property_uri,
876             $p_value );
877             } else {
878 0           push @{$statements},
  0            
879             ODO::Statement->new( $self->subject(), $property_uri,
880             $p->subject() );
881 0           push @{$statements}, @{$p_value};
  0            
  0            
882             }
883             }
884             }
885 0           return $statements;
886             }
887             1;
888              
889             package ODO::Jena::DB::Properties::IndexKeyLength::PropertiesContainer;
890 1     1   5 use strict;
  1         2  
  1         32  
891 1     1   5 use warnings;
  1         2  
  1         21  
892 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         89  
893             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
894              
895             # Methods
896             1;
897              
898             package ODO::Jena::DB::Properties::FormatDate;
899 1     1   5 use strict;
  1         1  
  1         29  
900 1     1   4 use warnings;
  1         1  
  1         25  
901 1     1   4 use vars qw( @ISA );
  1         2  
  1         32  
902 1     1   4 use ODO;
  1         2  
  1         24  
903 1     1   5 use ODO::Query::Simple;
  1         1  
  1         35  
904 1     1   6 use ODO::Statement::Group;
  1         1  
  1         405  
905             @ISA = ( 'ODO::RDFS::Property', );
906              
907             #
908             # Description:
909             #
910             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
911             #
912             sub new {
913 0     0     my $self = shift;
914 0           my ( $resource, $graph, %properties ) = @_;
915 0           $self = $self->SUPER::new(@_);
916             return undef
917 0 0         unless ( ref $self );
918 0           $self->propertyContainerName(
919             'ODO::Jena::DB::Properties::FormatDate::PropertiesContainer');
920 0           $self->properties( bless {},
921             'ODO::Jena::DB::Properties::FormatDate::PropertiesContainer' );
922 0           $self->properties()->{'parent'} = $self;
923 0           return $self;
924             }
925              
926             sub queryString {
927 0     0     return '(?subj, rdf:type, )';
928             }
929              
930             sub objectURI {
931 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#FormatDate';
932             }
933              
934             sub value {
935 0     0     my $self = shift;
936 0 0         return $self->subject()
937             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
938 0           return $self->__to_statement_array();
939             }
940              
941             sub __to_statement_array {
942 0     0     my $self = shift;
943 0           my $statements = [];
944 0           foreach my $my_super (@ISA) {
945             next
946 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
947 0           my $super_func = "${my_super}::__to_statement_array";
948 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
949             }
950 0           my %properties = ( '' => '', );
951 0           foreach my $propertyName ( keys(%properties) ) {
952             next
953 0 0 0       unless ( $propertyName && $propertyName ne '' );
954 0           my $property = $self->properties()->$propertyName();
955 0           foreach my $p ( @{$property} ) {
  0            
956 0           my $p_value = $p->value();
957 0           my $property_uri = ODO::Node::Resource->new(
958             $properties{$propertyName}->objectURI() );
959 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
960 0           push @{$statements},
  0            
961             ODO::Statement->new( $self->subject(), $property_uri,
962             $p_value );
963             } else {
964 0           push @{$statements},
  0            
965             ODO::Statement->new( $self->subject(), $property_uri,
966             $p->subject() );
967 0           push @{$statements}, @{$p_value};
  0            
  0            
968             }
969             }
970             }
971 0           return $statements;
972             }
973             1;
974              
975             package ODO::Jena::DB::Properties::FormatDate::PropertiesContainer;
976 1     1   4 use strict;
  1         1  
  1         26  
977 1     1   4 use warnings;
  1         2  
  1         33  
978 1     1   5 use vars qw( $AUTOLOAD @ISA );
  1         3  
  1         101  
979             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
980              
981             # Methods
982             1;
983              
984             package ODO::Jena::DB::Properties::CompressURILength;
985 1     1   5 use strict;
  1         2  
  1         42  
986 1     1   4 use warnings;
  1         3  
  1         21  
987 1     1   5 use vars qw( @ISA );
  1         2  
  1         31  
988 1     1   4 use ODO;
  1         1  
  1         27  
989 1     1   4 use ODO::Query::Simple;
  1         1  
  1         22  
990 1     1   4 use ODO::Statement::Group;
  1         2  
  1         448  
991             @ISA = ( 'ODO::RDFS::Property', );
992              
993             #
994             # Description:
995             #
996             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
997             #
998             sub new {
999 0     0     my $self = shift;
1000 0           my ( $resource, $graph, %properties ) = @_;
1001 0           $self = $self->SUPER::new(@_);
1002             return undef
1003 0 0         unless ( ref $self );
1004 0           $self->propertyContainerName(
1005             'ODO::Jena::DB::Properties::CompressURILength::PropertiesContainer');
1006 0           $self->properties( bless {},
1007             'ODO::Jena::DB::Properties::CompressURILength::PropertiesContainer' );
1008 0           $self->properties()->{'parent'} = $self;
1009 0           return $self;
1010             }
1011              
1012             sub queryString {
1013             return
1014 0     0     '(?subj, rdf:type, )';
1015             }
1016              
1017             sub objectURI {
1018 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#CompressURILength';
1019             }
1020              
1021             sub value {
1022 0     0     my $self = shift;
1023 0 0         return $self->subject()
1024             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1025 0           return $self->__to_statement_array();
1026             }
1027              
1028             sub __to_statement_array {
1029 0     0     my $self = shift;
1030 0           my $statements = [];
1031 0           foreach my $my_super (@ISA) {
1032             next
1033 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1034 0           my $super_func = "${my_super}::__to_statement_array";
1035 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1036             }
1037 0           my %properties = ( '' => '', );
1038 0           foreach my $propertyName ( keys(%properties) ) {
1039             next
1040 0 0 0       unless ( $propertyName && $propertyName ne '' );
1041 0           my $property = $self->properties()->$propertyName();
1042 0           foreach my $p ( @{$property} ) {
  0            
1043 0           my $p_value = $p->value();
1044 0           my $property_uri = ODO::Node::Resource->new(
1045             $properties{$propertyName}->objectURI() );
1046 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1047 0           push @{$statements},
  0            
1048             ODO::Statement->new( $self->subject(), $property_uri,
1049             $p_value );
1050             } else {
1051 0           push @{$statements},
  0            
1052             ODO::Statement->new( $self->subject(), $property_uri,
1053             $p->subject() );
1054 0           push @{$statements}, @{$p_value};
  0            
  0            
1055             }
1056             }
1057             }
1058 0           return $statements;
1059             }
1060             1;
1061              
1062             package ODO::Jena::DB::Properties::CompressURILength::PropertiesContainer;
1063 1     1   4 use strict;
  1         3  
  1         22  
1064 1     1   4 use warnings;
  1         2  
  1         27  
1065 1     1   5 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         59  
1066             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1067              
1068             # Methods
1069             1;
1070              
1071             package ODO::Jena::DB::Properties::TableNamePrefix;
1072 1     1   4 use strict;
  1         2  
  1         21  
1073 1     1   4 use warnings;
  1         1  
  1         25  
1074 1     1   4 use vars qw( @ISA );
  1         2  
  1         76  
1075 1     1   5 use ODO;
  1         1  
  1         38  
1076 1     1   6 use ODO::Query::Simple;
  1         7  
  1         24  
1077 1     1   4 use ODO::Statement::Group;
  1         6  
  1         494  
1078             @ISA = ( 'ODO::RDFS::Property', );
1079              
1080             #
1081             # Description:
1082             #
1083             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1084             #
1085             sub new {
1086 0     0     my $self = shift;
1087 0           my ( $resource, $graph, %properties ) = @_;
1088 0           $self = $self->SUPER::new(@_);
1089             return undef
1090 0 0         unless ( ref $self );
1091 0           $self->propertyContainerName(
1092             'ODO::Jena::DB::Properties::TableNamePrefix::PropertiesContainer');
1093 0           $self->properties( bless {},
1094             'ODO::Jena::DB::Properties::TableNamePrefix::PropertiesContainer' );
1095 0           $self->properties()->{'parent'} = $self;
1096 0           return $self;
1097             }
1098              
1099             sub queryString {
1100             return
1101 0     0     '(?subj, rdf:type, )';
1102             }
1103              
1104             sub objectURI {
1105 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#TableNamePrefix';
1106             }
1107              
1108             sub value {
1109 0     0     my $self = shift;
1110 0 0         return $self->subject()
1111             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1112 0           return $self->__to_statement_array();
1113             }
1114              
1115             sub __to_statement_array {
1116 0     0     my $self = shift;
1117 0           my $statements = [];
1118 0           foreach my $my_super (@ISA) {
1119             next
1120 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1121 0           my $super_func = "${my_super}::__to_statement_array";
1122 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1123             }
1124 0           my %properties = ( '' => '', );
1125 0           foreach my $propertyName ( keys(%properties) ) {
1126             next
1127 0 0 0       unless ( $propertyName && $propertyName ne '' );
1128 0           my $property = $self->properties()->$propertyName();
1129 0           foreach my $p ( @{$property} ) {
  0            
1130 0           my $p_value = $p->value();
1131 0           my $property_uri = ODO::Node::Resource->new(
1132             $properties{$propertyName}->objectURI() );
1133 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1134 0           push @{$statements},
  0            
1135             ODO::Statement->new( $self->subject(), $property_uri,
1136             $p_value );
1137             } else {
1138 0           push @{$statements},
  0            
1139             ODO::Statement->new( $self->subject(), $property_uri,
1140             $p->subject() );
1141 0           push @{$statements}, @{$p_value};
  0            
  0            
1142             }
1143             }
1144             }
1145 0           return $statements;
1146             }
1147             1;
1148              
1149             package ODO::Jena::DB::Properties::TableNamePrefix::PropertiesContainer;
1150 1     1   6 use strict;
  1         1  
  1         33  
1151 1     1   4 use warnings;
  1         2  
  1         21  
1152 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         63  
1153             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1154              
1155             # Methods
1156             1;
1157              
1158             package ODO::Jena::DB::Properties::EngineType;
1159 1     1   4 use strict;
  1         1  
  1         23  
1160 1     1   4 use warnings;
  1         1  
  1         19  
1161 1     1   4 use vars qw( @ISA );
  1         2  
  1         28  
1162 1     1   4 use ODO;
  1         1  
  1         29  
1163 1     1   4 use ODO::Query::Simple;
  1         2  
  1         26  
1164 1     1   4 use ODO::Statement::Group;
  1         1  
  1         447  
1165             @ISA = ( 'ODO::RDFS::Property', );
1166              
1167             #
1168             # Description:
1169             #
1170             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1171             #
1172             sub new {
1173 0     0     my $self = shift;
1174 0           my ( $resource, $graph, %properties ) = @_;
1175 0           $self = $self->SUPER::new(@_);
1176             return undef
1177 0 0         unless ( ref $self );
1178 0           $self->propertyContainerName(
1179             'ODO::Jena::DB::Properties::EngineType::PropertiesContainer');
1180 0           $self->properties( bless {},
1181             'ODO::Jena::DB::Properties::EngineType::PropertiesContainer' );
1182 0           $self->properties()->{'parent'} = $self;
1183 0           return $self;
1184             }
1185              
1186             sub queryString {
1187 0     0     return '(?subj, rdf:type, )';
1188             }
1189              
1190             sub objectURI {
1191 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#EngineType';
1192             }
1193              
1194             sub value {
1195 0     0     my $self = shift;
1196 0 0         return $self->subject()
1197             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1198 0           return $self->__to_statement_array();
1199             }
1200              
1201             sub __to_statement_array {
1202 0     0     my $self = shift;
1203 0           my $statements = [];
1204 0           foreach my $my_super (@ISA) {
1205             next
1206 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1207 0           my $super_func = "${my_super}::__to_statement_array";
1208 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1209             }
1210 0           my %properties = ( '' => '', );
1211 0           foreach my $propertyName ( keys(%properties) ) {
1212             next
1213 0 0 0       unless ( $propertyName && $propertyName ne '' );
1214 0           my $property = $self->properties()->$propertyName();
1215 0           foreach my $p ( @{$property} ) {
  0            
1216 0           my $p_value = $p->value();
1217 0           my $property_uri = ODO::Node::Resource->new(
1218             $properties{$propertyName}->objectURI() );
1219 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1220 0           push @{$statements},
  0            
1221             ODO::Statement->new( $self->subject(), $property_uri,
1222             $p_value );
1223             } else {
1224 0           push @{$statements},
  0            
1225             ODO::Statement->new( $self->subject(), $property_uri,
1226             $p->subject() );
1227 0           push @{$statements}, @{$p_value};
  0            
  0            
1228             }
1229             }
1230             }
1231 0           return $statements;
1232             }
1233             1;
1234              
1235             package ODO::Jena::DB::Properties::EngineType::PropertiesContainer;
1236 1     1   4 use strict;
  1         2  
  1         28  
1237 1     1   5 use warnings;
  1         2  
  1         25  
1238 1     1   5 use vars qw( $AUTOLOAD @ISA );
  1         2  
  1         127  
1239             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1240              
1241             # Methods
1242             1;
1243              
1244             package ODO::Jena::DB::Properties::SystemGraph;
1245 1     1   5 use strict;
  1         2  
  1         32  
1246 1     1   5 use warnings;
  1         2  
  1         25  
1247 1     1   6 use vars qw( @ISA );
  1         2  
  1         34  
1248 1     1   6 use ODO;
  1         2  
  1         34  
1249 1     1   6 use ODO::Query::Simple;
  1         2  
  1         36  
1250 1     1   7 use ODO::Statement::Group;
  1         2  
  1         442  
1251             @ISA = ( 'ODO::RDFS::Property', );
1252              
1253             #
1254             # Description:
1255             #
1256             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1257             #
1258             sub new {
1259 0     0     my $self = shift;
1260 0           my ( $resource, $graph, %properties ) = @_;
1261 0           $self = $self->SUPER::new(@_);
1262             return undef
1263 0 0         unless ( ref $self );
1264 0           $self->propertyContainerName(
1265             'ODO::Jena::DB::Properties::SystemGraph::PropertiesContainer');
1266 0           $self->properties( bless {},
1267             'ODO::Jena::DB::Properties::SystemGraph::PropertiesContainer' );
1268 0           $self->properties()->{'parent'} = $self;
1269 0           return $self;
1270             }
1271              
1272             sub queryString {
1273 0     0     return '(?subj, rdf:type, )';
1274             }
1275              
1276             sub objectURI {
1277 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#SystemGraph';
1278             }
1279              
1280             sub value {
1281 0     0     my $self = shift;
1282 0 0         return $self->subject()
1283             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1284 0           return $self->__to_statement_array();
1285             }
1286              
1287             sub __to_statement_array {
1288 0     0     my $self = shift;
1289 0           my $statements = [];
1290 0           foreach my $my_super (@ISA) {
1291             next
1292 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1293 0           my $super_func = "${my_super}::__to_statement_array";
1294 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1295             }
1296 0           my %properties = ( '' => '', );
1297 0           foreach my $propertyName ( keys(%properties) ) {
1298             next
1299 0 0 0       unless ( $propertyName && $propertyName ne '' );
1300 0           my $property = $self->properties()->$propertyName();
1301 0           foreach my $p ( @{$property} ) {
  0            
1302 0           my $p_value = $p->value();
1303 0           my $property_uri = ODO::Node::Resource->new(
1304             $properties{$propertyName}->objectURI() );
1305 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1306 0           push @{$statements},
  0            
1307             ODO::Statement->new( $self->subject(), $property_uri,
1308             $p_value );
1309             } else {
1310 0           push @{$statements},
  0            
1311             ODO::Statement->new( $self->subject(), $property_uri,
1312             $p->subject() );
1313 0           push @{$statements}, @{$p_value};
  0            
  0            
1314             }
1315             }
1316             }
1317 0           return $statements;
1318             }
1319             1;
1320              
1321             package ODO::Jena::DB::Properties::SystemGraph::PropertiesContainer;
1322 1     1   7 use strict;
  1         3  
  1         26  
1323 1     1   5 use warnings;
  1         2  
  1         33  
1324 1     1   5 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         115  
1325             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1326              
1327             # Methods
1328             1;
1329              
1330             package ODO::Jena::DB::Properties::Graph;
1331 1     1   17 use strict;
  1         3  
  1         27  
1332 1     1   5 use warnings;
  1         2  
  1         29  
1333 1     1   5 use vars qw( @ISA );
  1         2  
  1         28  
1334 1     1   4 use ODO;
  1         1  
  1         29  
1335 1     1   4 use ODO::Query::Simple;
  1         1  
  1         22  
1336 1     1   6 use ODO::Statement::Group;
  1         1  
  1         415  
1337             @ISA = ( 'ODO::RDFS::Property', );
1338              
1339             #
1340             # Description:
1341             #
1342             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1343             #
1344             sub new {
1345 0     0     my $self = shift;
1346 0           my ( $resource, $graph, %properties ) = @_;
1347 0           $self = $self->SUPER::new(@_);
1348             return undef
1349 0 0         unless ( ref $self );
1350 0           $self->propertyContainerName(
1351             'ODO::Jena::DB::Properties::Graph::PropertiesContainer');
1352 0           $self->properties( bless {},
1353             'ODO::Jena::DB::Properties::Graph::PropertiesContainer' );
1354 0           $self->properties()->{'parent'} = $self;
1355 0           return $self;
1356             }
1357              
1358             sub queryString {
1359 0     0     return '(?subj, rdf:type, )';
1360             }
1361              
1362             sub objectURI {
1363 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#Graph';
1364             }
1365              
1366             sub value {
1367 0     0     my $self = shift;
1368 0 0         return $self->subject()
1369             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1370 0           return $self->__to_statement_array();
1371             }
1372              
1373             sub __to_statement_array {
1374 0     0     my $self = shift;
1375 0           my $statements = [];
1376 0           foreach my $my_super (@ISA) {
1377             next
1378 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1379 0           my $super_func = "${my_super}::__to_statement_array";
1380 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1381             }
1382 0           my %properties = ( '' => '', );
1383 0           foreach my $propertyName ( keys(%properties) ) {
1384             next
1385 0 0 0       unless ( $propertyName && $propertyName ne '' );
1386 0           my $property = $self->properties()->$propertyName();
1387 0           foreach my $p ( @{$property} ) {
  0            
1388 0           my $p_value = $p->value();
1389 0           my $property_uri = ODO::Node::Resource->new(
1390             $properties{$propertyName}->objectURI() );
1391 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1392 0           push @{$statements},
  0            
1393             ODO::Statement->new( $self->subject(), $property_uri,
1394             $p_value );
1395             } else {
1396 0           push @{$statements},
  0            
1397             ODO::Statement->new( $self->subject(), $property_uri,
1398             $p->subject() );
1399 0           push @{$statements}, @{$p_value};
  0            
  0            
1400             }
1401             }
1402             }
1403 0           return $statements;
1404             }
1405             1;
1406              
1407             package ODO::Jena::DB::Properties::Graph::PropertiesContainer;
1408 1     1   5 use strict;
  1         1  
  1         22  
1409 1     1   3 use warnings;
  1         2  
  1         24  
1410 1     1   5 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         73  
1411             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1412              
1413             # Methods
1414             1;
1415              
1416             package ODO::Jena::DB::Properties::DoCompressURI;
1417 1     1   5 use strict;
  1         1  
  1         23  
1418 1     1   4 use warnings;
  1         2  
  1         28  
1419 1     1   6 use vars qw( @ISA );
  1         2  
  1         32  
1420 1     1   5 use ODO;
  1         1  
  1         33  
1421 1     1   5 use ODO::Query::Simple;
  1         2  
  1         21  
1422 1     1   4 use ODO::Statement::Group;
  1         7  
  1         426  
1423             @ISA = ( 'ODO::RDFS::Property', );
1424              
1425             #
1426             # Description:
1427             #
1428             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1429             #
1430             sub new {
1431 0     0     my $self = shift;
1432 0           my ( $resource, $graph, %properties ) = @_;
1433 0           $self = $self->SUPER::new(@_);
1434             return undef
1435 0 0         unless ( ref $self );
1436 0           $self->propertyContainerName(
1437             'ODO::Jena::DB::Properties::DoCompressURI::PropertiesContainer');
1438 0           $self->properties( bless {},
1439             'ODO::Jena::DB::Properties::DoCompressURI::PropertiesContainer' );
1440 0           $self->properties()->{'parent'} = $self;
1441 0           return $self;
1442             }
1443              
1444             sub queryString {
1445             return
1446 0     0     '(?subj, rdf:type, )';
1447             }
1448              
1449             sub objectURI {
1450 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#DoCompressURI';
1451             }
1452              
1453             sub value {
1454 0     0     my $self = shift;
1455 0 0         return $self->subject()
1456             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1457 0           return $self->__to_statement_array();
1458             }
1459              
1460             sub __to_statement_array {
1461 0     0     my $self = shift;
1462 0           my $statements = [];
1463 0           foreach my $my_super (@ISA) {
1464             next
1465 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1466 0           my $super_func = "${my_super}::__to_statement_array";
1467 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1468             }
1469 0           my %properties = ( '' => '', );
1470 0           foreach my $propertyName ( keys(%properties) ) {
1471             next
1472 0 0 0       unless ( $propertyName && $propertyName ne '' );
1473 0           my $property = $self->properties()->$propertyName();
1474 0           foreach my $p ( @{$property} ) {
  0            
1475 0           my $p_value = $p->value();
1476 0           my $property_uri = ODO::Node::Resource->new(
1477             $properties{$propertyName}->objectURI() );
1478 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1479 0           push @{$statements},
  0            
1480             ODO::Statement->new( $self->subject(), $property_uri,
1481             $p_value );
1482             } else {
1483 0           push @{$statements},
  0            
1484             ODO::Statement->new( $self->subject(), $property_uri,
1485             $p->subject() );
1486 0           push @{$statements}, @{$p_value};
  0            
  0            
1487             }
1488             }
1489             }
1490 0           return $statements;
1491             }
1492             1;
1493              
1494             package ODO::Jena::DB::Properties::DoCompressURI::PropertiesContainer;
1495 1     1   4 use strict;
  1         2  
  1         29  
1496 1     1   4 use warnings;
  1         1  
  1         21  
1497 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         67  
1498             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1499              
1500             # Methods
1501             1;
1502              
1503             package ODO::Jena::DB::Properties::IsTransactionDb;
1504 1     1   4 use strict;
  1         2  
  1         32  
1505 1     1   4 use warnings;
  1         3  
  1         21  
1506 1     1   3 use vars qw( @ISA );
  1         1  
  1         92  
1507 1     1   4 use ODO;
  1         2  
  1         24  
1508 1     1   4 use ODO::Query::Simple;
  1         2  
  1         27  
1509 1     1   7 use ODO::Statement::Group;
  1         2  
  1         467  
1510             @ISA = ( 'ODO::RDFS::Property', );
1511             #
1512             # Description:
1513             #
1514             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1515             #
1516             sub new {
1517 0     0     my $self = shift;
1518 0           my ( $resource, $graph, %properties ) = @_;
1519 0           $self = $self->SUPER::new(@_);
1520             return undef
1521 0 0         unless ( ref $self );
1522 0           $self->propertyContainerName(
1523             'ODO::Jena::DB::Properties::IsTransactionDb::PropertiesContainer');
1524 0           $self->properties( bless {},
1525             'ODO::Jena::DB::Properties::IsTransactionDb::PropertiesContainer' );
1526 0           $self->properties()->{'parent'} = $self;
1527 0           return $self;
1528             }
1529              
1530             sub queryString {
1531             return
1532 0     0     '(?subj, rdf:type, )';
1533             }
1534              
1535             sub objectURI {
1536 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#IsTransactionDb';
1537             }
1538              
1539             sub value {
1540 0     0     my $self = shift;
1541 0 0         return $self->subject()
1542             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1543 0           return $self->__to_statement_array();
1544             }
1545              
1546             sub __to_statement_array {
1547 0     0     my $self = shift;
1548 0           my $statements = [];
1549 0           foreach my $my_super (@ISA) {
1550             next
1551 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1552 0           my $super_func = "${my_super}::__to_statement_array";
1553 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1554             }
1555 0           my %properties = ( '' => '', );
1556 0           foreach my $propertyName ( keys(%properties) ) {
1557             next
1558 0 0 0       unless ( $propertyName && $propertyName ne '' );
1559 0           my $property = $self->properties()->$propertyName();
1560 0           foreach my $p ( @{$property} ) {
  0            
1561 0           my $p_value = $p->value();
1562 0           my $property_uri = ODO::Node::Resource->new(
1563             $properties{$propertyName}->objectURI() );
1564 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1565 0           push @{$statements},
  0            
1566             ODO::Statement->new( $self->subject(), $property_uri,
1567             $p_value );
1568             } else {
1569 0           push @{$statements},
  0            
1570             ODO::Statement->new( $self->subject(), $property_uri,
1571             $p->subject() );
1572 0           push @{$statements}, @{$p_value};
  0            
  0            
1573             }
1574             }
1575             }
1576 0           return $statements;
1577             }
1578             1;
1579              
1580             package ODO::Jena::DB::Properties::IsTransactionDb::PropertiesContainer;
1581 1     1   5 use strict;
  1         2  
  1         27  
1582 1     1   5 use warnings;
  1         1  
  1         26  
1583 1     1   12 use vars qw( $AUTOLOAD @ISA );
  1         2  
  1         60  
1584             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1585              
1586             # Methods
1587             1;
1588              
1589             package ODO::Jena::DB::Properties::LayoutVersion;
1590 1     1   4 use strict;
  1         1  
  1         25  
1591 1     1   4 use warnings;
  1         1  
  1         18  
1592 1     1   4 use vars qw( @ISA );
  1         1  
  1         44  
1593 1     1   3 use ODO;
  1         2  
  1         28  
1594 1     1   5 use ODO::Query::Simple;
  1         2  
  1         21  
1595 1     1   5 use ODO::Statement::Group;
  1         1  
  1         430  
1596             @ISA = ( 'ODO::RDFS::Property', );
1597              
1598             #
1599             # Description:
1600             #
1601             # Schema URI: http://jena.hpl.hp.com/2003/04/DB
1602             #
1603             #
1604             sub new {
1605 0     0     my $self = shift;
1606 0           my ( $resource, $graph, %properties ) = @_;
1607 0           $self = $self->SUPER::new(@_);
1608             return undef
1609 0 0         unless ( ref $self );
1610 0           $self->propertyContainerName(
1611             'ODO::Jena::DB::Properties::LayoutVersion::PropertiesContainer');
1612 0           $self->properties( bless {},
1613             'ODO::Jena::DB::Properties::LayoutVersion::PropertiesContainer' );
1614 0           $self->properties()->{'parent'} = $self;
1615 0           return $self;
1616             }
1617              
1618             sub queryString {
1619             return
1620 0     0     '(?subj, rdf:type, )';
1621             }
1622              
1623             sub objectURI {
1624 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#LayoutVersion';
1625             }
1626              
1627             sub value {
1628 0     0     my $self = shift;
1629 0 0         return $self->subject()
1630             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1631 0           return $self->__to_statement_array();
1632             }
1633              
1634             sub __to_statement_array {
1635 0     0     my $self = shift;
1636 0           my $statements = [];
1637 0           foreach my $my_super (@ISA) {
1638             next
1639 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1640 0           my $super_func = "${my_super}::__to_statement_array";
1641 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1642             }
1643 0           my %properties = ( '' => '', );
1644 0           foreach my $propertyName ( keys(%properties) ) {
1645             next
1646 0 0 0       unless ( $propertyName && $propertyName ne '' );
1647 0           my $property = $self->properties()->$propertyName();
1648 0           foreach my $p ( @{$property} ) {
  0            
1649 0           my $p_value = $p->value();
1650 0           my $property_uri = ODO::Node::Resource->new(
1651             $properties{$propertyName}->objectURI() );
1652 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1653 0           push @{$statements},
  0            
1654             ODO::Statement->new( $self->subject(), $property_uri,
1655             $p_value );
1656             } else {
1657 0           push @{$statements},
  0            
1658             ODO::Statement->new( $self->subject(), $property_uri,
1659             $p->subject() );
1660 0           push @{$statements}, @{$p_value};
  0            
  0            
1661             }
1662             }
1663             }
1664 0           return $statements;
1665             }
1666             1;
1667              
1668             package ODO::Jena::DB::Properties::LayoutVersion::PropertiesContainer;
1669 1     1   5 use strict;
  1         2  
  1         28  
1670 1     1   4 use warnings;
  1         1  
  1         28  
1671 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         1  
  1         60  
1672             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1673              
1674             # Methods
1675             1;
1676              
1677             package ODO::Jena::DB::Properties::LongObjectLength;
1678 1     1   10 use strict;
  1         2  
  1         24  
1679 1     1   5 use warnings;
  1         2  
  1         32  
1680 1     1   4 use vars qw( @ISA );
  1         7  
  1         32  
1681 1     1   4 use ODO;
  1         1  
  1         27  
1682 1     1   4 use ODO::Query::Simple;
  1         8  
  1         23  
1683 1     1   4 use ODO::Statement::Group;
  1         2  
  1         406  
1684             @ISA = ( 'ODO::RDFS::Property', );
1685              
1686             #
1687             # Description:
1688             #
1689             # Schema URI: http://jena.hpl.hp.com/2003/04/DB#
1690             #
1691             sub new {
1692 0     0     my $self = shift;
1693 0           my ( $resource, $graph, %properties ) = @_;
1694 0           $self = $self->SUPER::new(@_);
1695             return undef
1696 0 0         unless ( ref $self );
1697 0           $self->propertyContainerName(
1698             'ODO::Jena::DB::Properties::LongObjectLength::PropertiesContainer');
1699 0           $self->properties( bless {},
1700             'ODO::Jena::DB::Properties::LongObjectLength::PropertiesContainer' );
1701 0           $self->properties()->{'parent'} = $self;
1702 0           return $self;
1703             }
1704              
1705             sub queryString {
1706             return
1707 0     0     '(?subj, rdf:type, )';
1708             }
1709              
1710             sub objectURI {
1711 0     0     return 'http://jena.hpl.hp.com/2003/04/DB#LongObjectLength';
1712             }
1713              
1714             sub value {
1715 0     0     my $self = shift;
1716 0 0         return $self->subject()
1717             if ( UNIVERSAL::isa( $self->subject(), 'ODO::Node::Literal' ) );
1718 0           return $self->__to_statement_array();
1719             }
1720              
1721             sub __to_statement_array {
1722 0     0     my $self = shift;
1723 0           my $statements = [];
1724 0           foreach my $my_super (@ISA) {
1725             next
1726 0 0         unless ( UNIVERSAL::can( $my_super, '__to_statement_array' ) );
1727 0           my $super_func = "${my_super}::__to_statement_array";
1728 0           push @{$statements}, @{ $self->$super_func() };
  0            
  0            
1729             }
1730 0           my %properties = ( '' => '', );
1731 0           foreach my $propertyName ( keys(%properties) ) {
1732             next
1733 0 0 0       unless ( $propertyName && $propertyName ne '' );
1734 0           my $property = $self->properties()->$propertyName();
1735 0           foreach my $p ( @{$property} ) {
  0            
1736 0           my $p_value = $p->value();
1737 0           my $property_uri = ODO::Node::Resource->new(
1738             $properties{$propertyName}->objectURI() );
1739 0 0         if ( UNIVERSAL::isa( $p_value, 'ODO::Node::Literal' ) ) {
1740 0           push @{$statements},
  0            
1741             ODO::Statement->new( $self->subject(), $property_uri,
1742             $p_value );
1743             } else {
1744 0           push @{$statements},
  0            
1745             ODO::Statement->new( $self->subject(), $property_uri,
1746             $p->subject() );
1747 0           push @{$statements}, @{$p_value};
  0            
  0            
1748             }
1749             }
1750             }
1751 0           return $statements;
1752             }
1753             1;
1754              
1755             package ODO::Jena::DB::Properties::LongObjectLength::PropertiesContainer;
1756 1     1   10 use strict;
  1         3  
  1         21  
1757 1     1   4 use warnings;
  1         1  
  1         25  
1758 1     1   4 use vars qw( $AUTOLOAD @ISA );
  1         2  
  1         125  
1759             @ISA = ( 'ODO::RDFS::Property::PropertiesContainer', );
1760              
1761             # Methods
1762             1;