New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update next generation experimental tool #78

merged 22 commits into from Dec 5, 2018


None yet
1 participant

cjslep commented Dec 5, 2018

It can now ingest the included spec.json file (containing the ActivityStreams vocabulary definition) and generally set up the intermediate data structure in an incomplete state.

Further work items:

  • Property populate natural language map
  • Properly populate values
  • Populate "references" so that extensions can refer and build off of each other
  • Transform the intermediate parsing data tree into the data structure required for generating code
  • Have the code generation produce files in the appropriate golang package structure

cjslep added some commits Nov 28, 2018

Add internal parsed RDF definition data types.
This is an evolution of the old tools/defs/types.go file which
essentially had these data structs manually defined in a static go file.
Now, the parser should be able to construct this data structure on the
fly from input files and reference files.
Setup applying RDF node understanding.
Next, the actual nodes need to be created in order to construct the
proper intermediate form and translate the parsed data into a meaningful
structure that can be used to generate code.

Ideally, this could also potentially allow code generation in other
languages too. And different ways to read in ActivityStreams
specifications and extensions. But that would be way off in the future.
Fix bugs for handling aliased nodes and containers
Implemented the beginning of the container and index handling, but have
not yet completed it.
Fix aliasing specific elements.
Also adds some placeholders for the schema ontology.

Eliminated some dead code in the RDF manager thing.

Next step is to get mainEntity parsing to ignore the rest of the values,
which should be easier to do, maybe.
Allow a node to hijack the rest of the recursive descent.
Also, fixed a bug where errors were not getting propagated properly from
RDFNodes back to the apply process.
Progress on implementing the schema ontology.
- can process name
- can process url
- properties can have examples
- id no longer requires a thing to be set on (may need to be revisited)
Prepare for @type to contextually resolve.
- Remove unused 'as' ontology
- Outline new GetByName for ontologies
- Fix bugs
- Prepare the type to use the RDFRegistry
Bug fixes and ontology improvements.
- Fixed the way indexing nodes were being applied
- Implemented property types in ontologies
- Improved class types in ontologies
- Lots of other stuff
Improve spec.json
- Remove reference to ActivityStreams (as its defining ActivityStreams!)
- Change type Link to type owl:Class
- Change https to http for parsing
Finish implementing ontologies.
- ActivityStreams specification can now be entirely parsed.
- Removed print statements
- Added missing ontology items to rdfs

@cjslep cjslep self-assigned this Dec 5, 2018

@cjslep cjslep merged commit 9c3005b into go-fed:master Dec 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment