@@ -1052,7 +1052,7 @@ def compact_iri(iri, value: nil, vocab: nil, reverse: false, quiet: false, **opt
10521052
10531053 if vocab && inverse_context . has_key? ( iri )
10541054 #log_debug("") {"vocab and key in inverse context"} unless quiet
1055- default_language = self . default_language || @none
1055+ default_language = self . default_language || " @none"
10561056 containers = [ ]
10571057 tl , tl_value = "@language" , "@null"
10581058
@@ -1136,7 +1136,8 @@ def compact_iri(iri, value: nil, vocab: nil, reverse: false, quiet: false, **opt
11361136 preferred_values . concat ( %w( @id @vocab @none ) )
11371137 end
11381138 else
1139- preferred_values . concat ( [ tl_value , '@none' ] )
1139+ tl = '@any' if list? ( value ) && value [ '@list' ] . empty?
1140+ preferred_values . concat ( [ tl_value , '@none' ] . compact )
11401141 end
11411142 #log_debug("") {"preferred_values: #{preferred_values.inspect}"} unless quiet
11421143 if p_term = select_term ( iri , containers , tl , preferred_values )
@@ -1483,9 +1484,11 @@ def inverse_context
14831484 next unless td = term_definitions [ term ]
14841485 container = td . container_mapping || ( td . as_set ? '@set' : '@none' )
14851486 container_map = result [ td . id . to_s ] ||= { }
1486- tl_map = container_map [ container ] ||= { '@language' => { } , '@type' => { } }
1487+ tl_map = container_map [ container ] ||= { '@language' => { } , '@type' => { } , '@any' => { } }
14871488 type_map = tl_map [ '@type' ]
14881489 language_map = tl_map [ '@language' ]
1490+ any_map = tl_map [ '@any' ]
1491+ any_map [ '@none' ] ||= term
14891492 if td . reverse_property
14901493 type_map [ '@reverse' ] ||= term
14911494 elsif td . type_mapping
0 commit comments