Closed gezever closed 5 years ago
@bertvannuffelen Kan jij dit opnemen?
@gezever
Heb je het al met een ander template geprobeerd? Ik zie in de OSLO toolchain dat we de default.j2 niet gebruiken, maar voor de vocabularia ocabularynlv2.j2
Daarnaast een heads-up: we gaan de python implementatie vervangen door de javascript implementatie met als basis een jsonld input.
mvg,
Bert
@bertvannuffelen Waarom moet ik een template gebruiken? De rdf die ik gebruik is standaard rdf geserialiseerd door apache jena (java) en bij het python command moet je geen template meegeven : ./specgen/generate_vocabulary.py --rdf {rdf_path} --output {output_file_path} Python vind ik persoonlijk veel gebruiksvriendelijker en duidelijker dan javascript. Json-ld is voor mij een serialisatieformaat en mi. zou het niet mogen uitmaken of er nt, rdf-xml of json-ld wordt meegegeven. Wordt er gekeken naar deze bug? Vriendelijke groeten, Geert
Je gebruikt altijd een template, als je die niet opgeeft gebruik je de default.
De parameters zijn --schema --schema_folder
Ik heb wat verder getest met je data en het volgende ontdekt:
a owl:ObjectProperty ;
rdfs:comment "TO DO"@nl ;
rdfs:isDefinedBy <https://data.milieuinfo.be/ns/waarde> ;
rdfs:label "vanhoek"@nl ;
rdfs:range :Waarde .
Je ontbreekt een definitie (rdfs:comment) voor een aantal eigenschappen. Als ik dat toevoeg dan werkt je data. Een andere optie was blijkbaar om geen language tags te gebruiken.
Het is de template die deze boodschap produceert en dus de constraints oplegt voor de input data.
mvg,
Bert
Dag Bert,
Ik begrijp het niet goed.
In de readme.md wordt onder "Generating vocabulary HTML specification from RDF" niet vermeld dat je een template moet meegeven. Ontbreekt dat dan in de documentatie? En over welke template gaat het dan precies?
Zoals Bert reeds zei: je hoeft niet expliciet een template mee te geven. Als je geen template mee geeft wordt er een standaard template gebruikt. De template bepaalt hoe je rdf op html gemapt wordt.
Dit template stelt bepaalde eisen aan je rdf. Blijkbaar is jouw rdf niet volledig compatibel met de standaard template.
Je hebt nu twee opties:
rdfs:comment
en gebruikt de standaard templaterdfs:comment
niet noodzakelijk isDe documentatie kan altijd beter en vereist momenteel een beetje kennis van de codebase
Dank je wel allemaal!
Bij "Generating vocabulary HTML specification from RDF" vanuit een eenvoudige rdf krijg ik een fout. :~/git/OSLO-SpecificationGenerator$ python specgen/generate_vocabulary.py --rdf waarde-ontology.rdf --output /tmp/waarde.html
Traceback (most recent call last): File "specgen/generate_vocabulary.py", line 127, in
process_args()
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/click/core.py", line 764, in call
return self.main(args, kwargs)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, ctx.params)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(args, kwargs)
File "specgen/generate_vocabulary.py", line 55, in process_args
xml_output = voc_to_spec(rdf, schema, schema_folder=schema_folder)
File "/home/gehau/git/OSLO-SpecificationGenerator/specgen/entry.py", line 214, in voc_to_spec
return render_template(fp, schema, schema_folder, contributors=contributors)
File "/home/gehau/git/OSLO-SpecificationGenerator/specgen/entry.py", line 193, in render_template
kwargs).encode('utf-8')
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/gehau/git/OSLO-SpecificationGenerator/templates/default.j2", line 327, in top-level template code
Eigenschap {{ eigenschap['label'] }}
File "/home/gehau/git/OSLO-SpecificationGenerator/my-env/lib/python3.6/site-packages/jinja2/environment.py", line 411, in getitem return obj[argument] jinja2.exceptions.UndefinedError: 'collections.OrderedDict object' has no attribute 'property_nl:https://data.milieuinfo.be/ns/waarde#tothoek'
https://raw.githubusercontent.com/milieuinfo/ontologies/master/be/milieuinfo/data/ns/waarde/waarde-ontology.rdf