{"id":16538017,"url":"https://github.com/multicatch/fuddiwikigenerator","last_synced_at":"2026-06-11T07:31:13.589Z","repository":{"id":137900627,"uuid":"319637195","full_name":"multicatch/FuddiWikiGenerator","owner":"multicatch","description":"A tool to generate wiki pages from ontology","archived":false,"fork":false,"pushed_at":"2020-12-21T17:00:36.000Z","size":41,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T21:11:10.778Z","etag":null,"topics":["generator","ontology","wiki-pages"],"latest_commit_sha":null,"homepage":"https://fuddi.eu","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multicatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-08T12:50:05.000Z","updated_at":"2023-11-26T10:30:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"136c0f76-2609-4291-a2a1-337711c69e74","html_url":"https://github.com/multicatch/FuddiWikiGenerator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/multicatch/FuddiWikiGenerator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multicatch%2FFuddiWikiGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multicatch%2FFuddiWikiGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multicatch%2FFuddiWikiGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multicatch%2FFuddiWikiGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multicatch","download_url":"https://codeload.github.com/multicatch/FuddiWikiGenerator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multicatch%2FFuddiWikiGenerator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34188272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["generator","ontology","wiki-pages"],"created_at":"2024-10-11T18:44:15.025Z","updated_at":"2026-06-11T07:31:13.584Z","avatar_url":"https://github.com/multicatch.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FuddiWikiGenerator\nA tool to generate wiki pages from ontology\n\nThis tools reads an ontology and gathers all subjects from it, then it uses a template file to generate articles describing\nthe contents of this ontology. Finally, it connects to a MediaWiki API and creates/updates articles.\n\nRead more at:\n* https://fuddi.eu\n* https://kb.fuddi.eu\n\n## Under the hood\n\nIt uses [Apache Jena](https://jena.apache.org/) to read a given ontology and [Pebble Templates](https://pebbletemplates.io/).\n\nThe source file and template file have to be specified by the program arguments.\n\n## Running it\n\nThere are the following arguments that have to be set in order to run the generator:\n\n* `source-file` - specifies the path to an RDF file containing the ontology.\n* `template-directory` - specifies the path to a directory with templates used to generate articles (NOTE: the path has to start with `./` or `/` to be read properly by Pebble Templates).\n* `wikimedia.url` - URL to the WikiMedia API.\n* `wikimedia.login` - login of the bot account.\n* `wikimedia.password` - password of the bot account.\n\nThe `template-directory` needs to contain at least `default.txt` file. \nThis tool expects files with the `.txt` extension for any language used in the ontology.\nFor example, there can be `en.txt` file.\n\nExample:\n\n```bash\njava -jar fuddi-wiki-generator-1.0-SNAPSHOT-jar-with-dependencies.jar \\\n    -source-file ontology.rdf \\\n    -template-directory ./templates/ \\\n    -wikimedia.url https://kb.fuddi.eu/api.php \\\n    -wikimedia.login WikiBot \\\n    -wikimedia.password BotPassword\n```\n\n## Available variables\n\nWhen creating a custom template, keep in mind that there are some variables that are available to use:\n\n* `subjectUri` - an object of type [URIRef](src/main/java/eu/fuddi/rdf/namespaces.kt) describing a subject URI\n* `subjectType` - an object of type [URIRef](src/main/java/eu/fuddi/rdf/namespaces.kt) describing a subject type\n* all namespaces from the source ontology as [Namespace](src/main/java/eu/fuddi/rdf/namespaces.kt) objects (eg. `owl`, `rdf` or others)\n* `nsName` - a map with keys of type [Namespace](src/main/java/eu/fuddi/rdf/namespaces.kt) and values with namespace prefixes \nused to lookup namespaces (eg. you can use this to find out that `Namespace(http://www.w3.org/2002/07/owl#)` is prefixed as `owl`)\n* `properties` - a map containing all subject properties grouped by the predicate (of type [URIRef](src/main/java/eu/fuddi/rdf/namespaces.kt))\n\n### Example usage\n\nRetrieving full subject URI:\n```\n{{ subjectUri.uri }}\n```\n\nRetrieving full subject type URI and only the identifier:\n```\nURI: {{ subjectType.uri }}\nIdentifier: {{ subjectType.identifier }}\n```\n\nSubject type namespace lookup (checking prefix associated with namespace):\n```\n{{ nsName[subjectType.namespace] }}\n```\n\nRetrieving an URI of owl:Thing:\n```\n{{ owl.get(\"Thing\").uri }}\n```\n\nRetrieving all labels associated with subject (NOTE: it returns a list of object of type [SubjectProperty](src/main/java/eu/fuddi/rdf/parser.kt)):\n```\n{{ properties[rdfs.get(\"label\")] }}\n```\n\nDisplaying subject's label in a readable form:\n```\n{{ properties[rdfs.get(\"label\")][0].valueLiteral.value }}\n```\n\n## Custom functions\n\nThere are 3 custom functions that anyone can use to display values:\n\n* `printLiteral(literal)` - prints literal value (NOTE: `literal` must be of type [ValueLiteral](src/main/java/eu/fuddi/rdf/parser.kt))\n* `wikiLink(uri)` - prints [URIRef](src/main/java/eu/fuddi/rdf/namespaces.kt) as a Wiki Link\n* `wikiReadable(subject)` - accepts [SubjectProperty](src/main/java/eu/fuddi/rdf/parser.kt),  [ValueLiteral](src/main/java/eu/fuddi/rdf/parser.kt) \nor [URIRef](src/main/java/eu/fuddi/rdf/namespaces.kt) and prints it in a most appropriate way\n\nExamples:\n\nPrinting URI as a link:\n```\n{{ wikiLink(subjectUri) }}\n```\n\nPrinting label:\n```\n{{ printLiteral(properties[rdfs.get(\"label\")][0]) }}\n```\n\nPrinting all properties:\n```\n{% for property in properties %}\n\n{{ wikiReadable(property.key) }}\n\n{% for propertyValue in property.value %}\n    {{ wikiReadable(propertyValue) }}\n\n{% endfor %}\n{% endfor %}\n```\n\n\n## License\n\nAll code stored here is licensed under MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmulticatch%2Ffuddiwikigenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmulticatch%2Ffuddiwikigenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmulticatch%2Ffuddiwikigenerator/lists"}