Comments (3)
Hiervoor zijn meerdere oplossingen:
- Een arbitraire identificatie aanmaken: bijv. UUID
- Een content-gebaseerde IRI aanmaken: bijv. MD5
Even opzoeken hoe dit in CoW moet, misschien met Jinja.
from etl-andb.
Jinja kan gebruik maken van custom filters. Dit zijn functies die je bijvoorbeeld zelf kan defineren in het python script om ze daarna aan te roepen. Hier vallen ook de hashing functies onder https://ttl255.com/jinja2-tutorial-part-4-template-filters/#write-custom.
Het is daarom dus niet mogelijk om hashing toe te passen in CoW, omdat deze custom filter niet beschikbaar is. Om deze custom filters toe te passen zou je in de CoW code deze custom filters op een of andere manier in moeten brengen om ze ook toe te passen in je JSON. Daarvan mis ik net de kennis om deze custom filters in CoW te krijgen. Mogelijk dat de CoW dit op kan pakken om custom filters, etc toe te kunnen passen in CoW.
Voor nu zou alleen de eerste optie mogelijk zijn, waarbij een arbitraire identificatie aan gemaakt wordt, door bijvoorbeeld twee kolommen te vebrinden met een join.
from etl-andb.
Ik heb twee verschillende manieren uitgeprobeerd om de IRI's van resources met een niet unieke naam uniek te maken.
- "aboutUrl": "{{([adm_image_no, '-', 'chi_first_name_01']|join)}}" De IRI wordt dan https://iisg.amsterdam/id/adb/AMSAB_0558_1205-chi_first_name_01 Dit is altijd uniek door het gebruik van de unieke identifier van de kaart en de naam van het veld wat maar 1 keer per kaart voorkomt. De IRI wordt alleen op precies dezelfde manier aangemaakt als het veld geen inhoud heeft.
- "aboutUrl": "{{([adm_id, ' ', un_section, ' ', un_section_no]|join)|replace(' ', '_')}}" De IRI wordt dan bijvoorbeeld https://iisg.amsterdam/id/andb/842_2_27 , wat mogelijk nog steeds niet uniek is. Als het veld geen inhoud heeft wordt de IRI nog steeds aangemaakt maar dan als https://iisg.amsterdam/id/andb/842__ wat zeker niet uniek is.
Ik denk dus dat ik wel een manier heb gevonden om unieke IRI's te creeeren, maar het probleem slaat nu weer terug op de afhandeling van lege velden (Issue #12 ) Waar nog steeds geen oplossing voor is.
from etl-andb.
Related Issues (13)
- Personen HOT 8
- Data HOT 5
- Opbouw shapes HOT 1
- Omzetting naar Linked data met CoW HOT 2
- [Datamodel] Verwerking lidmaatschapsinformatie ADB
- Samenvoegen data via CoW script HOT 1
- [CoW/Druid] Integratie gegevens uit verschillende datasets HOT 2
- [CoW] Time:before/after HOT 3
- [CoW] Inverse relaties HOT 4
- [CoW] Afhandeling empty objects HOT 8
- [Datamodel/CoW] Persoonsgegevens op kaart HOT 1
- Afbeeldingen van de kaarten HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from etl-andb.