Sha256: 2976a00298bb7955ca83776b2a5290ae23e12f6241f4852dc75bcc1d87c80516

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

module PubliSci
  module Readers
    class Base
      include PubliSci::Query
      include PubliSci::Parser
      include PubliSci::Analyzer
      include PubliSci::Interactive
      include PubliSci::Dataset::DataCube

      #should be overridden if extra processing/input is required
      def automatic(*args)
        generate_n3(args[0],Hash[*args[1..-2]])
      end

      def generate_n3(*args)
        raise "#{self} does not implement a generate_n3 method!"
      end

      def sio_value(type,value)
        [
          ["a", type],
          ["http://semanticscience.org/resource/SIO_000300",value]
        ]
      end

      def sio_attribute(attribute_type,value,data_type=nil)
        inner = [
          "http://semanticscience.org/resource/SIO_000300",value
        ]
        if data_type
          inner = [["a", data_type], inner]
        end
        
        outer = 
        [
          "http://semanticscience.org/resource/SIO_000008",
            inner
        ]

        if attribute_type
          outer = [["a", attribute_type], outer] 
        end

        # puts "#{outer}"
        outer
      end

      def next_label
        if @__current_label
          @__current_label += 1
        else
          @__current_label = 0
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
publisci-0.1.3 lib/publisci/readers/base.rb
publisci-0.1.2 lib/bio-publisci/readers/base.rb
bio-publisci-0.1.0 lib/bio-publisci/readers/base.rb