Informatievlaanderen / OSLO-SpecificationGenerator

Generates HTML specification pages based on RDF vocabularies.
1 stars 7 forks source link

JSONLD output afhankelijk van de volgorde van de records in de tsv input file #22

Open mvanbrab opened 5 years ago

mvanbrab commented 5 years ago

Ik stel twee fenomenen vast: 1) Afhankelijk van de volgorde in de tsv input file, verdwijnen soms entries in de jsonld output file (eerste voorbeeld). 2) Afhankelijk van de volgorde in de tsv input file, wordt aan een verschillende identiteit een scope prefix toegekend in de namen van de entries in de jsonld output file (tweede voorbeeld).

Merk op: 1) De volgorde van de tsv input file verschilt van platform tot platform en soms van run tot run. 2) Nochtans zijn de tsv input files qua logische inhoud wel gelijk (ik heb dat gecontroleerd door ze te vergelijken na sorteren)

Voorbeelden: besluit-publicatie.jsonld (run1)

...
"isOnderdeelVan":{
    "@id":"http://purl.org/dc/terms/isPartOf",
    "@type":"http://xmlns.com/foaf/0.1/Document"
},
...

besluit-publicatie.jsonld (run2)

...
"DocumentOnderdeel.isDeelVan":{
    "@id":"http://purl.org/dc/terms/isPartOf",
    "@type":"https://data.vlaanderen.be/ns/generiek#DocumentOnderdeel"
},
...
"isOnderdeelVan":{
    "@id":"http://purl.org/dc/terms/isPartOf",
    "@type":"http://xmlns.com/foaf/0.1/Document"
},
...

besluit-mobiliteit.jsonld (run1)

...
"Inname.heeftGevolg":{
    "@id":"https://data.vlaanderen.be/ns/mobiliteit#Inname.heeftGevolg",
    "@type":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitshinder",
    "@container":"@set"
},
...
"heeftGevolg":{
    "@id":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitsmaatregel.heeftGevolg",
    "@type":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitshinder",
    "@container":"@set"
},
...

besluit-mobiliteit.jsonld (run2)

...
"Mobiliteitsmaatregel.heeftGevolg":{
    "@id":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitsmaatregel.heeftGevolg",
    "@type":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitshinder",
    "@container":"@set"
},
...
"heeftGevolg":{
    "@id":"https://data.vlaanderen.be/ns/mobiliteit#Inname.heeftGevolg",
    "@type":"https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitshinder",
    "@container":"@set"
},
...

Ter referentie: input en output bestanden waaruit bovenstaande voorbeelden werden gehaald: jsonld-different-output.zip

bertvannuffelen commented 5 years ago

Actions 1) fix order of output in EA-to-RDF 2) spec-generator kan nog bijkomend sorteren.

brechtvdv commented 5 years ago

@bertvannuffelen Kun je niet instellen dat wanneer de name-tag is ingevuld, deze gebruikt wordt voor de context entry?

mvanbrab commented 5 years ago

@bertvannuffelen

Opmerking van @brechtvdv is zeer waardevol en zou het tweede voorbeeld in mijn originele issue post oplossen, zelfs zonder sorteren, want aan de uri's is te zien dat ze beide een verschillende name-tag hebben!

Zou het niet te overwegen zijn om voor properties altijd Klassenaam.propertyNaam te gebruiken, of toch op z'n minst in geval van ambiguïteit? Dat zou ook werken in geval er geen name-tag maar bijvoorbeeld een uri-tag toegekend is.

Probleem uit mijn eerste voorbeeld blijft. Dat gaat ter verduidelijking over twee verschillende eigenschappen met dezelfde uri-tag, waarbij in één run (besluit-publicatie.jsonld (run1)) ééntje sneuvelt in de output.

brechtvdv commented 4 years ago

Enig idee wanneer dit gefixt zou zijn? Dit is dringend voor de implementatie van Gipod.

bertvannuffelen commented 4 years ago

De context file generator is nu aangepast. Een nieuwe versie is actief of otl-test.