@@ -194,14 +194,11 @@ class list(Tripling.list):
194194 id_uri = f"urn:example:{ id_prefix } :"
195195 key_prefix = 'prefix'
196196 key_uri = f"urn:example:{ key_prefix } :"
197- meta_prefix = 'meta'
198- meta_uri = "urn:example:meta:"
199197
200198 def __str__ (self ) -> str :
201199 _ = f'prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n '
202200 _ = _ + f'prefix { self .id_prefix } : <{ self .id_uri } > \n '
203- _ = _ + f'prefix { self .key_prefix } : <{ self .key_uri } > \n '
204- _ = _ + f'prefix { self .meta_prefix } : <{ self .meta_uri } > \n \n '
201+ _ = _ + f'prefix { self .key_prefix } : <{ self .key_uri } > \n \n '
205202 _ = _ + super ().__str__ ()
206203 return _
207204
@@ -264,33 +261,13 @@ def triple(cls, s, p, o):
264261 @classmethod
265262 def visit (cls , v ):
266263 assert (isinstance (v , Tripling .Triple ))
267- # meta tripling
268- # just do one-level in
269- if isinstance (v .subject , Tripling .Triple ):
270- s = cls .triple (v .subject .subject ,
271- v .subject .predicate ,
272- v .subject .object )
273- else :
274- s = v .subject
264+ s = v .subject
275265 p = v .predicate
276- if isinstance (v .object , Tripling .Triple ):
277- o = cls .triple (v .object .subject ,
278- v .object .predicate ,
279- v .object .object )
280- else :
281- o = v .object
282- if p == cls .list .meta_uri :
283- p = f"{ cls .list .meta_prefix } :"
284- return cls .Triple (s , p , o )
285- else :
286- return cls .triple (s ,p ,o )
266+ o = v .object
267+ return cls .triple (s ,p ,o )
287268
288269 @classmethod
289- def map (cls , d , meta = [], ):
290- if meta :
291- from itertools import product
292- d = product (d , meta )
293- d = map (lambda mt : Tripling .Triple (mt [0 ], cls .list .meta_uri , mt [1 ]), d )
270+ def map (cls , d , ):
294271 _ = map (cls .visit , d )
295272 _ = cls .list (_ )
296273 return _
@@ -304,9 +281,7 @@ def map(cls, d, meta=[], ):
304281defaults = classes ()
305282def json2rdf (
306283 data : str | dict ,
307- meta : str | dict = {},
308284 * ,
309- asserted = True ,
310285 sort = True , # (attempt to) make conversion deterministic
311286 # id interpretation
312287 subject_id_keys = defaults .Identification .subject_keys ,
@@ -316,15 +291,8 @@ def json2rdf(
316291 defaults .RDFing .list .id_uri ),
317292 key_prefix = (defaults .RDFing .list .key_prefix ,
318293 defaults .RDFing .list .key_uri ),
319- meta_prefix = (defaults .RDFing .list .meta_prefix ,
320- defaults .RDFing .list .meta_uri )
321294 ):
322295 """
323- meta: meta triples to associate with data triples:
324- <<data triple>> {meta_uri} <<meta triple n>>.
325- asserted: in the case of meta triples, should the data triples be separate?
326- data.subject data.predicate data.object. # include this?
327- <<data.subject data.predicate data.object>> {meta_uri} <<meta triple n>>. # ..in addition to this?
328296 sort: the triples
329297 subject_keys: set of keys to create a uri out of in for the *subject*.
330298 the first key will be used to create a predicate if one does not exist.
@@ -344,10 +312,8 @@ def json2rdf(
344312
345313 f .RDFing .list .id_prefix , f .RDFing .list .id_uri = id_prefix
346314 f .RDFing .list .key_prefix , f .RDFing .list .key_uri = key_prefix
347- f .RDFing .list .meta_prefix , f .RDFing .list .meta_uri = meta_prefix
348315
349316 d = data
350- m = meta
351317 def triples (data ):
352318 _ = data
353319 _ = f .Termination .map (_ )
@@ -357,28 +323,10 @@ def triples(data):
357323 if isinstance (d , str ):
358324 from json import loads
359325 d = loads (d )
360- if m :
361- if isinstance (m , str ):
362- from json import loads
363- m = loads (m )
364326
365327 d = triples (d )
366- if m :
367- m = triples (m )
368- m = f .RDFing .map (d , meta = m )
369- if asserted :
370- # just pull rdfed
371- d = frozenset ([t .subject for t in m ])
372- else :
373- d = frozenset ()
374- # asserted 'data' triples + meta triples
375- _ = frozenset (m ) | d # set->list source of indeterminism
376- if sort :
377- _ = sorted (_ , key = str )
378- d = f .RDFing .list (_ )
379- else :
380- if sort :
381- d = sorted (d , key = str )
328+ if sort :
329+ d = sorted (d , key = str )
382330 d = f .RDFing .map (d )
383331 d = str (d )
384332 return d
0 commit comments