Imvertor / Imvertor-Maven

Mavenized version of Imvertor
http://www.imvertor.org
9 stars 12 forks source link

first class citizen problematiek bij transformatie naar skos #541

Open fzand opened 1 month ago

fzand commented 1 month ago

Nu kom je tegen:

http://definities.geostandaarden.nl//id/concept/ABC/naam en http://definities.geostandaarden.nl//id/concept/XYZ/naam enz.

Vanuit begrippenkader perspectief is dat vreemd, omdat het semantisch om hetzelfde skos:concept gaat.

Het is ook fout omdat beide dezefde skos:prefLabel "naam"@nl krijgen en dat kan niet in hetzelfde begrippenkader.

ArjanLoeffen commented 1 month ago

Ik kan het niet reproduceren, kun je een voorbeeld geven van waar dat voorkomt?

fzand commented 1 month ago

Zie onder als voorbeeld twee concepten met dezelfde skos:prefLabel "naam"@nl ; in hetzelfde skos:inScheme http://definities.geostandaarden.nl//id/conceptscheme/Stelselcatalogus%20conceptueel%20model ;

http://definities.geostandaarden.nl//id/concept/Registratie/naam a skos:Concept ; skos:prefLabel "naam"@nl ; skos:altLabel "naam (Registratie)"@nl ; skos:inScheme http://definities.geostandaarden.nl//id/conceptscheme/Stelselcatalogus%20conceptueel%20model ; skosthes:broaderPartitive http://definities.geostandaarden.nl//id/concept/Registratie ; skos:definition '''De naam van een modelelement.'''@nl ; dct:source "SC en MIM" ;

Construct: Stelselcatalogus::StcInformatiemodel.naam (attrib) (ATTRIBUUTSOORT)

http://definities.geostandaarden.nl//id/concept/StcInformatiemodel/naam a skos:Concept ; skos:prefLabel "naam"@nl ; skos:altLabel "naam (StcInformatiemodel)"@nl ; skos:inScheme http://definities.geostandaarden.nl//id/conceptscheme/Stelselcatalogus%20conceptueel%20model ; skosthes:broaderPartitive http://definities.geostandaarden.nl//id/concept/StcInformatiemodel ; skos:definition '''De naam van een modelelement.'''@nl ; dct:source "SC en MIM" ; .

ArjanLoeffen commented 1 month ago

Het gaat dus om

http://definities.geostandaarden.nl//id/concept/Registratie/naam
a skos:Concept ;
skos:prefLabel "naam"@nl ;
...
http://definities.geostandaarden.nl//id/concept/StcInformatiemodel/naam
a skos:Concept ;
skos:prefLabel "naam"@nl ;

De URIs zijn verschillend, de preflabels gelijk. @fzand Kun je dit herschrijven naar een vorm die wel voldoet? En die gegenereerd zou moeten kunnen worden door Imvertor? @fterpstra Kijk je mee?

fzand commented 1 month ago

Ik ben bang dat ik dat niet zomaar kan. Daarom heb ik ook de verwijzing in de titel opgenomen naar de in mim vermelde 'first class citizen problematiek.

Ik heb wel twee mogelijke workarounds: 1: http://definities.geostandaarden.nl//id/concept/Registratie/naam a skos:Concept ; skos:prefLabel "naam (Registratie)"@nl ; (optie skos:altLabel "naam"@nl ; ) ... http://definities.geostandaarden.nl//id/concept/StcInformatiemodel/naam a skos:Concept ; skos:prefLabel "naam (StcInformatiemodel)"@nl ; (optie skos:altLabel "naam"@nl ; )

Hiermee kom je weliswaar door de validatie, maar dit is erg lelijk en niet in de geest van de SBB standaard.

2: http://definities.geostandaarden.nl//id/concept/naam a skos:Concept ; skos:prefLabel "naam"@nl ;

Deze workaround heeft waarschijnlijk meerdere implicaties die ik nu nog niet volledig doorzie. In ieder geval gaat dit niet goed als de definities van 'naam' verschillen.