В rdfAlchemy в файле commands.py есть раздел команд, который был запущен именно для этой цели. Давно не использовал его, но это начало именно того, о чем вы спрашивали, т. Е. Создание Python Skel из онтологии.
На самом деле, он использует «команды» Пастера. Если вы перейдете в подкаталог rdfalchemy и наберите:
paster rdfSubject -h
вы должны увидеть:
Usage: /home/phil/venv/some_path/bin/paster rdfSubject [options]
paster rdfalchemy.commands
Create an rdfSubject subclass with descriptors from an RDF Schema
will set the rdf_type
Descriptors will be created
1. rdfs:domain and rdfs:range are respected
2. rdfSingle is used for properties that are
* owl:InverseFunctionalProperty
* owl:FunctionalProperty
3. rdfList or rdfContainer is used if the proper range is set
4. rdfMultiple is used for all others
The resulting .py file is ment to be a skeleton for the developers confvience.
Do not expect to be able to use the raw results.
Create an rdfSubject subclass with descriptors from an RDF Schema
Options:
-h, --help show this help message and exit
-v, --verbose
-n, --simulate
-s SCHEMA, --schema=SCHEMA
file name or url of rdfSchema for this class
-o FOUT, --fout=FOUT output file name default: stdout (e.g.
../MyRdfModel.py)
-l, --list list valid instances of `owl:Class` in the schema file