<jupyter_start><jupyter_text>Voorbeeld notebook om met de dataportal van hkv.services te werken.Allereerst, importeer de module als volgt:<jupyter_code>import hkvportal
service_url = 'https://tsws.hkvservices.nl/mangrove.ws/'

# request Rolf or Mattijn for your own user_id
user_id = 'my_little_userid' 
dp = hkvportal.Service(service_url, user_id)<jupyter_output>Dataservice is recognized. https://tsws.hkvservices.nl/mangrove.ws/entry.asmx?WSDL will be used as portal<jupyter_text>In de dataportal kunnen verschillende databases worden aangemaakt (`create_database`). In een bestaande database mogen entries worden:- aangemaakt (`new_entry`)- bijgewerkt (`update_entry`)- opgehaald (`get_entry`) of - verwijderd (`delete_entry`)Om een database uit te lezen moet er eerst een verbinding met de dataservice worden gemaakt. Anders is de dataservice niet bekend. Om te starten maak je een database aan<jupyter_code>dp.create_database(database='demo_database')<jupyter_output><empty_output><jupyter_text>Met de `info` kunctie kan je uitlezen wat er in de database zit. Dit is nu nog niets:<jupyter_code>dp.info(database='demo_database')<jupyter_output><empty_output><jupyter_text>Een nieuwe entry kan toegevoegd worden met de functie `new_entry`, deze heeft de volgende parameters nodig:- `database` = (`str`) naam van de database in kwestie- `key` = (`str`) naam waaronder de entry weer opgevraagd kan worden- `data` = het data-object- `description` = (`str`) beschrijving van de entry<jupyter_code>dp.new_entry(
    database='demo_database',
    key='array4digits',
    data='[1,2,3,4]',
    description='array van getallen'
)<jupyter_output>entry available at:
https://tsws.hkvservices.nl/mangrove.ws/data.ashx?function=dataportal.db.getdata&parameters={database:'demo_database',key:'array4digits'}&contentType=SET_BY_USER<jupyter_text>De `content_type` is data afhankelijk en staat daarom default op `SET_BY_USER`. Bij het opvragen van de URL moet je een contentType meegeven, voorbeeld data types zijn `text/html`, `application/json`, `text/csv` `application/pdf`, `text/xml`. Zie notebook `overview set content-types.ipynb` voor een overzicht hoe je met deze verschillende data typen kunt werken met hkvportal.De weggeschreven data kan weer uitgelezen worden met de functie `get_entry`. Hiervoor zijn de `database` en `key` van belang in combinatie met de `content_type`. De functie toont ook de URL waarmee de data vanuit de browser en scripts uitgelezen kan worden.Zoals gezegd geeft de `content_type` aan wat voor type data er verwacht wordt. Voor een correcte interpretatie moet je deze meegeven bij het opvragen van de data entry. Zie `overview get content-types.ipynb` hoe je verschillende data typen kunt opvragen.<jupyter_code>dp.get_entry(
    database='demo_database',
    key='array4digits',
    content_type='application/json'
)<jupyter_output>entry available at:
https://tsws.hkvservices.nl/mangrove.ws/data.ashx?function=dataportal.db.getdata&parameters={database:'demo_database',key:'array4digits'}&contentType=application/json<jupyter_text>Met `update_entry` kan een bestaande entry bijgewerkt worden. De entry wordt in z'n geheel vernieuwd. Er is geen append of prepend functionaliteit<jupyter_code>dp.update_entry(
    database='demo_database',
    key='array4digits',
    data='[5,6,7,8]',
    description='array van nieuwe getallen'
)<jupyter_output>entry available at:
https://tsws.hkvservices.nl/mangrove.ws/data.ashx?function=dataportal.db.getdata&parameters={database:'demo_database',key:'array4digits'}&contentType=SET_BY_USER<jupyter_text>Met de listDatabase functie is zichtbaar dat er een enkel entry in de database zit.<jupyter_code>dp.info(database='demo_database')<jupyter_output><empty_output><jupyter_text>Om een entry uit de database te verwijderen kan de `delete_entry` functie gebruikt worden<jupyter_code>dp.delete_entry(database='demo_database', key='array4digits')<jupyter_output><empty_output><jupyter_text>Double check om te kijken of de entry echt weg is<jupyter_code>dp.info(database='demo_database')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09838076545632973, 'fraction_numerical': 0.0036800785083415115, 'mean_word_length': 6.947368421052632, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, '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': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '386456', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1400, 'n_tokens_neox': 1378, 'n_words': 365, 'path': 'notebooks/overview functions.ipynb', 'repo_name': 'HKV-products-services/hkvportal', 'size': '4076'}