Module: Cul::Scv::Hydra::RisearchMembers
- Defined in:
- lib/cul_scv_hydra/risearch_members.rb
Class Method Summary collapse
- .get_direct_member_pids(pid, verbose_output = false) ⇒ Object
- .get_recursive_member_pids(pid, verbose_output = false) ⇒ Object
Class Method Details
.get_direct_member_pids(pid, verbose_output = false) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cul_scv_hydra/risearch_members.rb', line 28 def self.get_direct_member_pids(pid, verbose_output=false) direct_member_query = 'select $pid $cmodel from <#ri> where $pid <http://purl.oclc.org/NET/CUL/memberOf> <fedora:' + pid + '> and $pid <fedora-model:hasModel> $cmodel' puts 'Performing query:' if verbose_output puts direct_member_query if verbose_output search_response = JSON(Cul::Scv::Fedora.repository.find_by_itql(direct_member_query, { :type => 'tuples', :format => 'json', :limit => '', :stream => 'on' })) unique_pids = search_response['results'].map{|result| result['pid'].gsub('info:fedora/', '') }.uniq return unique_pids end |
.get_recursive_member_pids(pid, verbose_output = false) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/cul_scv_hydra/risearch_members.rb', line 3 def self.get_recursive_member_pids(pid, verbose_output=false) recursive_member_query = 'select $child $parent $cmodel from <#ri> where walk($child <http://purl.oclc.org/NET/CUL/memberOf> <fedora:' + pid + '> and $child <http://purl.oclc.org/NET/CUL/memberOf> $parent) and $child <fedora-model:hasModel> $cmodel' puts 'Performing query:' if verbose_output puts recursive_member_query if verbose_output search_response = JSON(Cul::Scv::Fedora.repository.find_by_itql(recursive_member_query, { :type => 'tuples', :format => 'json', :limit => '', :stream => 'on' })) unique_pids = search_response['results'].map{|result| result['child'].gsub('info:fedora/', '') }.uniq return unique_pids end |