File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -179,6 +179,40 @@ func toTerm(v quad.Value) gojsonld.Term {
179179 }
180180}
181181
182+ func typedStringToJSON (v quad.TypedString ) map [string ]string {
183+ return map [string ]string {
184+ "@value" : string (v .Value ),
185+ "@type" : string (v .Type ),
186+ }
187+ }
188+
189+ // FromValue converts quad value to a JSON-LD compatible object.
190+ func FromValue (v quad.Value ) interface {} {
191+ switch v := v .(type ) {
192+ case quad.IRI :
193+ return map [string ]string {
194+ "@id" : string (v ),
195+ }
196+ case quad.BNode :
197+ return map [string ]string {
198+ "@id" : v .String (),
199+ }
200+ case quad.String :
201+ return string (v )
202+ case quad.TypedString :
203+ return typedStringToJSON (v )
204+ case quad.LangString :
205+ return map [string ]string {
206+ "@value" : string (v .Value ),
207+ "@language" : string (v .Lang ),
208+ }
209+ case quad.TypedStringer :
210+ return typedStringToJSON (v .TypedString ())
211+ default :
212+ return v .String ()
213+ }
214+ }
215+
182216func toValue (t gojsonld.Term ) quad.Value {
183217 switch t := t .(type ) {
184218 case * gojsonld.Resource :
You can’t perform that action at this time.
0 commit comments