Class: JSON::LD::Context::TermDefinition
- Inherits:
-
Object
- Object
- JSON::LD::Context::TermDefinition
- Defined in:
- lib/json/ld/context.rb
Overview
Term Definitions specify how properties and values have to be interpreted as well as the current vocabulary mapping and the default language
Instance Attribute Summary collapse
-
#container_mapping ⇒ String
Container mapping.
-
#id ⇒ String
IRI map.
-
#language_mapping ⇒ String
Language mapping of term, ‘false` is used if there is explicitly no language mapping for this term.
-
#reverse_property ⇒ Boolean
Reverse Property.
-
#term ⇒ String
Term name.
-
#type_mapping ⇒ String
Type mapping.
Instance Method Summary collapse
-
#initialize(term, id = nil) ⇒ TermDefinition
constructor
Create a new Term Mapping with an ID.
- #inspect ⇒ Object
-
#to_context_definition(context) ⇒ String, Hash{String => Array[String], String}
Output Hash or String definition for this definition.
Constructor Details
#initialize(term, id = nil) ⇒ TermDefinition
Create a new Term Mapping with an ID
33 34 35 36 |
# File 'lib/json/ld/context.rb', line 33 def initialize(term, id = nil) @term = term @id = id.to_s if id end |
Instance Attribute Details
#container_mapping ⇒ String
Returns Container mapping.
21 22 23 |
# File 'lib/json/ld/context.rb', line 21 def container_mapping @container_mapping end |
#id ⇒ String
Returns IRI map.
12 13 14 |
# File 'lib/json/ld/context.rb', line 12 def id @id end |
#language_mapping ⇒ String
Language mapping of term, ‘false` is used if there is explicitly no language mapping for this term.
25 26 27 |
# File 'lib/json/ld/context.rb', line 25 def language_mapping @language_mapping end |
#reverse_property ⇒ Boolean
Returns Reverse Property.
28 29 30 |
# File 'lib/json/ld/context.rb', line 28 def reverse_property @reverse_property end |
#term ⇒ String
Returns term name.
15 16 17 |
# File 'lib/json/ld/context.rb', line 15 def term @term end |
#type_mapping ⇒ String
Returns Type mapping.
18 19 20 |
# File 'lib/json/ld/context.rb', line 18 def type_mapping @type_mapping end |
Instance Method Details
#inspect ⇒ Object
66 67 68 69 70 71 72 73 74 |
# File 'lib/json/ld/context.rb', line 66 def inspect v = %w([TD) v << "id=#{@id}" v << "rev" if reverse_property v << "container=#{container_mapping}" if container_mapping v << "lang=#{language_mapping.inspect}" unless language_mapping.nil? v << "type=#{type_mapping}" unless type_mapping.nil? v.join(" ") + "]" end |
#to_context_definition(context) ⇒ String, Hash{String => Array[String], String}
Output Hash or String definition for this definition
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/json/ld/context.rb', line 41 def to_context_definition(context) if language_mapping.nil? && container_mapping.nil? && type_mapping.nil? && reverse_property.nil? cid = context.compact_iri(id) cid == term ? id : cid else defn = {} cid = context.compact_iri(id) defn[reverse_property ? '@reverse' : '@id'] = cid unless cid == term && !reverse_property if type_mapping defn['@type'] = if KEYWORDS.include?(type_mapping) type_mapping else context.compact_iri(type_mapping, :vocab => true) end end defn['@container'] = container_mapping if container_mapping # Language set as false to be output as null defn['@language'] = (language_mapping ? language_mapping : nil) unless language_mapping.nil? defn end end |