diff options
author | mguetlein <martin.guetlein@gmail.com> | 2010-06-09 12:13:25 +0200 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2010-06-09 12:13:25 +0200 |
commit | 2ee258935818fa3dcc9b863216f383969807c191 (patch) | |
tree | 3c4cce04edd2e50270c5b7fbb6ee0fd3f5e8a048 /lib/rdf_provider.rb | |
parent | bef6b090942db1e51c88b3b4063e8bf7a16bebeb (diff) |
report persistance, modify val persistance (serialize hashes, rename uri)
Diffstat (limited to 'lib/rdf_provider.rb')
-rw-r--r-- | lib/rdf_provider.rb | 54 |
1 files changed, 38 insertions, 16 deletions
diff --git a/lib/rdf_provider.rb b/lib/rdf_provider.rb index e9d0f2f..5894cb1 100644 --- a/lib/rdf_provider.rb +++ b/lib/rdf_provider.rb @@ -1,4 +1,13 @@ +class String + def convert_underscore + gsub(/_./) do |m| + m.gsub!(/^_/,"") + m.upcase + end + end +end + module Lib module RDFProvider @@ -25,29 +34,42 @@ module Lib raise "not implemented" end - def literal?( property ) - raise "not yet implemented" + def to_yaml + get_content_as_hash.to_yaml end - def literal_name( property ) - raise "not yet implemented" + def rdf_ignore?( prop ) + self.class::IGNORE.index( prop ) != nil end - def object_property?( property ) - raise "not yet implemented" + def literal?( prop ) + self.class::LITERALS.index( prop ) != nil end - def object_property_name( property ) - raise "not yet implemented" + def literal_name( prop ) + if self.class::LITERAL_NAMES.has_key?(prop) + self.class::LITERAL_NAMES[prop] + else + OT[prop.to_s.convert_underscore] + end end - - def class?( property ) - raise "not yet implemented" + + def object_property?( prop ) + self.class::OBJECT_PROPERTIES.has_key?( prop ) + end + + def object_property_name( prop ) + return self.class::OBJECT_PROPERTIES[ prop ] end - def class_name( property ) - raise "not yet implemented" + def class?(prop) + self.class::CLASSES.has_key?( prop ) end + + def class_name( prop ) + return self.class::CLASSES[ prop ] + end + end class HashToOwl @@ -82,7 +104,9 @@ module Lib LOGGER.warn "skipping nil value: "+k.to_s next end - if v.is_a?(Hash) + if @rdf_provider.rdf_ignore?(k) + #do nothing + elsif v.is_a?(Hash) new_node = add_class( k, node ) recursiv_add_content( v, new_node ) elsif v.is_a?(Array) @@ -98,8 +122,6 @@ module Lib set_literal( k, v, node) elsif @rdf_provider.object_property?(k) add_object_property( k, v, node) - elsif [ :uri, :id ].index(k)!=nil - #skip else raise "illegal value k:"+k.to_s+" v:"+v.to_s end |