Semantic overhaul of Scribble with RDFa
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 250
- Forks
- 102
- Avg merge
- 11d 11h
- Merged PRs (30d)
- 1
Description
This is a proposal for an overhaul of current Scribble implementation.
The goal of the project is for every document generated by Scribble to be semantically annotated with RDFa + JSON-LD and search to be (also) implemented with HDT/SPARQL as engine.
The benefits:
- Flexible Datalog like querying for every facet of document
- Possibility of building Natural Language Querying on top of RDF data and SPARQL- Ease of extending properties thanks to Open World Assumption of OWL.
- Data annotation can be as granular as needed (e.g. it could include source code line on github for every paragraph).
- Semantic annotation is accessible for search engines crawlers.
- If packagsrc would implement semantic data the data integration between these 2 would be seamless (e.g. you could search for all packages that use SomeFunction)
- Ability to reason about documentation (e.g. list documentation that doesn't fulfill certain criteria)
The means/Required work:
- implement RDF toolset in Racket:
- RDF turtle/NQuads
- JSON-LD (implemented by @cwebber)
- RDFa parser
- HDT ffi (for data storage and querying)
- Building OWL ontology for Scribble documentation/code
- Rework of Scribble output to replace current class based annotation with RDFa. If you are not familiar with Semantic annotation take a look at https://schema.org/Article especially scroll to the bottom to the RDFa tab.
- Data querying based on data stored in HDT files for local documentation and possibly triple store (e.g. RDF4J) for the server side documentation. http://www.rdfhdt.org/what-is-hdt/
If you have any questions regarding benefits/implementation details feel free to ask here.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files, tests, or entry points. Start by decomposing the required work—RDF Turtle/NQuads, JSON-LD, RDFa parsing, HDT FFI, an OWL ontology, Scribble output changes, and HDT or triple-store querying—and define the scope before implementation; done would require the semantic output and querying overhaul described.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100