LD Wizard

From CSV to Linked Data in one Spell


Netwerk Digitaal Erfgoed
Triply B.V.

LinkDaLe

linkdale.org

Milestones

  1. Raamwerk: Specificatie & Documentatie
  2. “Hello, World!” Wizard
  3. NDE Wizard

A. Het vastleggen en documenteren van het raamwerk en haar componenten

  1. Voor de import component
    1. Het specificeren van de brondata upload functionaliteit.
    2. Het specificeren van de transformatie script upload functionaliteit.
  2. Voor de wizard GUI component:
    1. Het specificeren van het instellen van een IRI prefix.
    2. Het specificeren van het opzoeken en selecteren van één klasse voor alle rijen (rdf:type).
    3. Het specificeren van het identificeren van één kolom als key (subject term).
    4. Het specificeren van het opzoeken en selecteren van één eigenschap per kolom (predicaat term).
    5. Het specificeren van één of meer custom functies om object termen op te schonen (object term).
  3. Voor de export component:
    1. Het specificeren van de export van het transformatie script.
    2. Het specificeren van het uitvoeren van de transformatie.
    3. Het specificeren van de export van de getransformeerde RDF data.
  4. Voor de publish component:
    1. Het specificeren van de authenticatie tot een publicatie platform.
    2. Het specificeren van de publicatie locatie binnen het publicatie platform.
    3. Het specificeren van de upload van het bronbestand.
    4. Het specificeren van de upload van het transformatie script.
    5. Het specificeren van de upload van de getransformeerde RDF data.

B. Het vastleggen en documenteren van de te gebruiken formaten en transformaties

  1. Het specificeren van het brondata formaat (een breed gebruikt spreadsheet formaat, aandachtspunt: toegestane karakters, aandachtspunt: aanwezigheid van header rij).
  2. Het specificeren van mappings naar ten minste twee bestaande ETL talen (bijv. CoW en RML).
  3. Het specificeren van het gebruikte RDF formaat.

C. Het implementeren van de generieke wizard interface

  1. Het maken van een verzameling interfaces die, wanneer geïmplementeerd/gespecificeerd, resulteren in een werkende wizard component.
  2. Een interface om de brondata aan te leveren.
  3. Een interface om een transformatie script aan te leveren.
  4. Een interface om de brondata naar een genormaliseerde CSV om te zetten.
  5. Een interface om de IRI prefix in te stellen.
  6. Een interface om op basis van een tekstuele invoer suggesties voor een klasse te geven.
  7. Een interface om de key kolom te identificeren.
  8. Een interface om op basis van een tekstuele invoer suggesties voor een eigenschap te geven.
  9. Een interface om de wizard instellingen om te zetten naar een transformatie script in een arbitraire data transformatie taal.
  10. Een interface om de brondata en een transformatie script in een arbitraire transformatie taal aan te bieden aan een arbitraire transformatie tool.
  11. Een interface om de door de transformatie tool gemaakte RDF data te exporteren.
  12. Een interface om de brondata, het transformatie script, en de RDF data te uploaden naar een publicatie omgeving.

D. Het ontwikkelen van een “Hello, World!” wizard

  1. Fungeert als een minimaal voorbeeld van hoe de wizard component technisch werkt.
  2. Hoeft niet toepasbaar te zijn voor het omzetten van een daadwerkelijk bronbestand.
  3. Vormt wel de basis voor een programmeur om een bruikbare wizard op te baseren.
  4. Biedt minimale implementaties voor de in 3 geïdentificeerde onderdelen.
  5. Gebruikt bijv. relatieve IRIs (triviale IRI prefix).
  6. Gebruikt bijv. rdfs:Resource als klasse (triviale klasse).
  7. Gebruikt bijv. het rij nummer als key.
  8. Gebruikt bijv. de kolomnamen als predicaat termen.
  9. Gebruikt bijv. xsd:string voor object termen.
  10. Gebruikt een transformatie engine voor één van de ondersteunde ETL talen om RDF te maken.
  11. Exporteert brondata, transformatie script, en RDF data.

E. Het ontwikkelen van een voorbeeld wizard

  1. Fungeert als een voorbeeld van hoe een bruikbare wizard voor een specifiek domein geconfigureerd kan worden.
  2. Moet toepasbaar zijn voor het omzetten van een daadwerkelijk bronbestand (eventueel na cleaning/preparatie).
  3. Maakt RDF aan op basis van door de gebruiker gemaakte selecties in een simpele GUI.
  4. Veronderstelt data uit het erfgoed domein.
  5. Maakt gebruik van Schema.org en het NDE termen netwerk.
  6. Bevat een invoerveld om een IRI prefix in te stellen.
  7. Bevat een zoekveld om een klasse in te stellen.
  8. Bevat een combobox om een key kolom te selecteren.
  9. Voor iedere kolom: bevat een combobox om een eigenschap toe te kennen.
  10. Resterende functionaliteiten zoals in (D).

F. Het ontwikkelen van een publicatie functie om data binnen het NDE platform te publiceren

  1. Dient als voorbeeld voor hoe de upload functie kan worden vormgegeven.
  2. Vereist een API key, account naam en dataset naam.
  3. Slaat het bronbestand op als asset.
  4. Slaat het transformatie script op als asset.
  5. Slaat de RDF data op in een RDF graaf.

G. Het ontwikkelen van een connector voor de meest voorkomende tabulaire input formaten die geen CSV zijn

  1. Ondersteunt formaten zolas TSV, XSLX, XLS, en ODS.
  2. Best effort, gebruikt bijv. alleen de eerste sheet in een multi-sheet spreadsheet.
  3. Maakt gebruik van bestaande libraries (bijv. https://github.com/SheetJS/sheetjs).

LD Wizard

From CSV to Linked Data in one Spell


Netwerk Digitaal Erfgoed
Triply B.V.