Module: BioTable::RDF
- Defined in:
- lib/bio-table/rdf.rb
Defined Under Namespace
Classes: Writer
Class Method Summary collapse
-
.header(row) ⇒ Object
Write a table header as Turtle RDF.
- .namespaces ⇒ Object
-
.row(row, header, use_blank_nodes = false) ⇒ Object
Write a table row as Turtle RDF.
Class Method Details
.header(row) ⇒ Object
Write a table header as Turtle RDF.
If we have a column name ‘AXB1’ the following gets written:
[:AXB1 rdf:label “AXB1”; a :colname; :index 3 ].
This method returns a list of these.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/bio-table/rdf.rb', line 20 def RDF::header(row) list = [] if row - row.uniq != [] $stderr.print row - row.uniq raise "RDF expects unique column names!" end row.each_with_index do | field,i | s = ":#{make_identifier(field)} rdf:label \"#{field}\" ; a :colname; :index #{i} ." list << s end list end |
.namespaces ⇒ Object
6 7 8 9 10 11 |
# File 'lib/bio-table/rdf.rb', line 6 def RDF::namespaces """ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix : <http://biobeat.org/rdf/biotable/ns#> . """ end |
.row(row, header, use_blank_nodes = false) ⇒ Object
Write a table row as Turtle RDF
If we have a row, each row element gets written with the header colname as an id, e.g.
[:rs13475701 rdf:label “rs13475701”; a :rowname; :Chromosome 1 ; :Pos 0 ; :AXB1 “AA”].
The method returns a String.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/bio-table/rdf.rb', line 41 def RDF::row(row, header, use_blank_nodes = false) list = [] rowname = make_identifier(row[0]) list << ":#{rowname}"+(use_blank_nodes ? " :row [ " : " ") + "rdf:label \"#{row[0]}\" ; a :rowname" row.each_with_index do | field,i | s = ":#{make_identifier(header[i])} " if BioTable::Filter.valid_number?(field) s += field.to_s else s += "\"#{field}\"" end list << s end list.join(" ; ")+(use_blank_nodes ? " ] ." : " .") end |