<jupyter_start><jupyter_text>Items<jupyter_code>for item in items:
    g = initialize_abr_graph()
    name = item['identifier']
    id = bpacol[name]
    g.add((id, RDF.type, bf.Item))
    g.add((id, RDF.type, bf.Text))
    # bf:heldBy
    bpa = BNode()
    g.add((id, bf.heldBy, bpa))
    g.add((bpa, RDF.type, bf.Agent))
    g.add((bpa, RDF.type, bf.Person)) 
    g.add((bpa, bf.role, Literal("collector")))
    g.add((bpa, RDFS.label, Literal("<NAME>")))
    # bf:note
    # todo: parse description for arm:LimitationNote, etc.
    note = BNode()
    g.add((id, bf.note, note))
    g.add((note, RDF.type, bf.Note))
    g.add((note, RDF.type, arm.DescriptiveNote))
    g.add((note, RDF.value, Literal(item['description'])))
    # bf:itemOf
    for inst in item['itemOf']:
        if re.match('schottlaender', inst):
            g.add((id, bf.itemOf, abri[inst.split('/')[-1]]))
    g.serialize(f"item/{name}.ttl", format='turtle')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.20062370062370063, 'fraction_numerical': 0.0010395010395010396, 'mean_word_length': 3.299107142857143, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '277055', 'license': 'MIT', 'n_tokens_mistral': 407, 'n_tokens_neox': 400, 'n_words': 68, 'path': 'csv-to-ttl.ipynb', 'repo_name': 'bradleypallen/wsb-catalog', 'size': '972'}