Module: When::Events::DataSet::ExternalRepository

Defined in:
lib/when_exe/events.rb

Overview

外部 RDF を読み込んだ場合に動作を置き換える

Instance Method Summary collapse

Instance Method Details

#event(uri, graph = nil) ⇒ Hash<String(GraphURI)=>RDF:Repository>

指定の URI を主語とする Statement からなる RDF:Repository を生成する

Parameters:

  • uri (String)

    主語の URI

  • graph (String) (defaults to: nil)

    検索対象のグラフ(ダミー)

Returns:

  • (Hash<String(GraphURI)=>RDF:Repository>)

    生成した Repository の Hash



847
848
849
850
851
852
853
854
# File 'lib/when_exe/events.rb', line 847

def event(uri, graph=nil)
  rep = Hash.new {|hash,key| hash[key] = ::RDF::Repository.new}
  @repository[''].query({:subject=>@resource[uri]}) do |statement|
    rep[''].insert(statement)
    rep[event.role[GRAPH]].insert(statement) if @role.key?(GRAPH)
  end
  rep
end

#repository(events = nil) ⇒ Hash<String(GraphURI)=>RDF:Repository>

指定の Event を主語とする Statement からなる RDF:Repository を生成する

Parameters:

Returns:

  • (Hash<String(GraphURI)=>RDF:Repository>)

    生成した Repository の Hash



824
825
826
827
828
829
830
831
832
833
834
835
836
837
# File 'lib/when_exe/events.rb', line 824

def repository(events=nil)
  if events
    rep = Hash.new {|hash,key| hash[key] = ::RDF::Repository.new}
    events.each do |event|
      @repository[''].query({:subject=>@resource[event.role[SUBJECT]]}) do |statement|
        rep[''].insert(statement)
        rep[event.role[GRAPH]].insert(statement) if @role.key?(GRAPH)
      end
    end
    rep
  else
    @repository
  end
end