コミットグラフ

221 コミット

作成者 SHA1 メッセージ 日付
Cory Slep 85ff299cf3 Cleanup kind's lessThan code generation 2019-01-04 21:56:29 +01:00
Cory Slep d087200e02 Implement type's Serialize function 2019-01-03 22:56:19 +01:00
Cory Slep 2045f2602a Fix name methods for non-functional properties 2019-01-03 22:35:24 +01:00
Cory Slep 48df99f07f Fix double-calling value Kind functions 2019-01-03 22:27:14 +01:00
Cory Slep 0005e23011 Hook up LessThan for properties. 2019-01-03 21:36:10 +01:00
Cory Slep 24265690f8 Add LessThan implementation for types 2019-01-03 20:49:48 +01:00
Cory Slep 133c2fd477 Fix extendedBy and disjointWith methods/funcs 2019-01-03 20:24:37 +01:00
Cory Slep ee9aade57f Add support for prefixing generated code paths. 2019-01-03 00:29:24 +01:00
Cory Slep 625e93d412 Pass package manager to properties. 2019-01-03 00:16:54 +01:00
Cory Slep aeda61d2f1 Clean up qualified names between implementations.
Implementations are relying more on each others' interfaces, which
allows for better code isolation and a better chance at pruning down
binaries when needed. Still plenty of TODO items left to tackle.
2018-12-31 18:42:39 +01:00
Cory Slep 5db3a68a8d Fix concrete types to be interfaces in properties.
Fix bug in method calling code generation.
2018-12-31 16:49:25 +01:00
Cory Slep b79b381a62 Only put exported methods in interfaces 2018-12-31 00:45:25 +01:00
Cory Slep 3da311641b Fix file writing locations.
Also write interfaces into public sections.

Lots of TODOs and more work to add.

Will need to look into how to simplify this logic -- there is a lot of
redundancy and kludgy-feeling things. Will definitely need to address
the converter part as it is very redundant.
2018-12-30 16:54:16 +01:00
Cory Slep ce699464bf Overhaul package management, add manager.
The manager class will be responsible for allowing the generated code to
be compilable while also permitting types and properties to be isolated,
such that binaries can be pruned to smaller sizes and not require the
entire gambit be built into the resulting executable.

This state will successfully generate code, but the generated code is
completely uncompilable. It will also trash the props/ directory.
2018-12-30 16:09:14 +01:00
Cory Slep 0a7539cdf7 Add CODE_OF_CONDUCT.md.
It stinks that I'm the only team member, so complaints about me go
directly to me. Which doesn't seem fair for victims.
2018-12-24 07:51:51 +01:00
Cory Slep b0937b7dec Add TODOs for more type improvements, add IsExtending convenience. 2018-12-20 23:19:51 +01:00
Cory Slep 43ab7d319c Alphabetical order of type members and better extends API. 2018-12-20 23:03:13 +01:00
Cory Slep b5d927c49f Properties now have serialization references to Types.
This setup allows properties to recur deserializing into types as
necessary, and sets the groundwork for successfully handling all kinds
of JSON-LD input.
2018-12-19 09:44:57 +01:00
Cory Slep a3c3a7b5fc Prepare TypeGenerator being a Kind for Properties.
Right now the two-pass tooling system has issues with establishing
doubly-linked data between Functiona/NonFunctional Properties (which
have Kinds abstractions) and Types (which have Property abstraction).

While the experimental tool compiles, it panics at runtime currently
because the TypeGenerator needs to look at properties with Range of
itself, but it is applying itself to properties with Domain of its type.
Which is wrong.

Will need to stew on this and think of how to avoid making even more
shortcuts and hacky solutions in the name of progress.
2018-12-17 23:11:55 +01:00
Cory Slep 222074b503 Put properties on the vocabulary types. 2018-12-17 21:43:33 +01:00
Cory Slep 73f7e3cf36 Experimental codegen works end to end.
Still plenty of missing features, and missing implementations in the
generated code. Also missing some functionality and flags for generating
references and/or well-known references (ex: XML, RDF values).
2018-12-09 21:23:32 +01:00
Cory Slep 9a0f688c63 Fix build, hook up type serialization.
- Prepared Types to be Kinds.
- Need to handle DoesNotApplyTo (to remove Intransitive properties from
  parent)
- Need to handle crafting files in the appropriate structure.
2018-12-09 12:45:08 +01:00
Cory Slep fe8b4e7261 Add type conversion (still broken at this commit) 2018-12-09 11:40:59 +01:00
Cory Slep 069b8de820 Add initial convert (exp is broken at this commit)
Still need to flesh out the types for conversion. Also still need to add
the serialize and deserialize calls for individual types. Finally, will
need to put the finishing touches on writing the output files in the
desired directories. Then the experimental tool will be ready for end to
end testing.
2018-12-08 23:05:02 +01:00
Cory Slep dc2ce18fd7 Finish adding values and nat lang maps. 2018-12-08 18:57:40 +01:00
Cory Slep beb44b1bde Fix more items in the specification 2018-12-08 18:57:20 +01:00
Cory Slep 139dc3c5ea Hack for "without property", begin resolving references.
Also begin populating values in the intermediate definition.

TODO: Replace the hack in the spec definition with something applicable
RDF-wise (is there anything that permits this RDF wise?).
2018-12-08 17:50:26 +01:00
Cory Slep 8589b0f14f Cleaned up the spec definition file 2018-12-08 17:50:02 +01:00
Cory Slep d2182dc3b9 Tool can now print its intermediate state 2018-12-05 23:50:20 +01:00
Cory Slep e5693c2eb9 Finish implementing ontologies.
- ActivityStreams specification can now be entirely parsed.
- Removed print statements
- Added missing ontology items to rdfs
2018-12-05 23:36:27 +01:00
Cory Slep dae9d884ab Remove duplicate entries 2018-12-05 23:35:53 +01:00
Cory Slep 41be1062fe Improve spec.json
- Remove reference to ActivityStreams (as its defining ActivityStreams!)
- Change type Link to type owl:Class
- Change https to http for parsing
2018-12-05 22:54:35 +01:00
Cory Slep 0f98307f07 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
2018-12-05 22:53:26 +01:00
Cory Slep 864616542c Prepare for @type to contextually resolve.
- Remove unused 'as' ontology
- Outline new GetByName for ontologies
- Fix bugs
- Prepare the type to use the RDFRegistry
2018-12-02 23:48:54 +01:00
Cory Slep 0530121039 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)
2018-12-02 22:37:43 +01:00
Cory Slep e508425ddb Remove leftover print call 2018-12-02 22:36:43 +01:00
Cory Slep 676dc64dbb 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.
2018-12-02 22:35:46 +01:00
Cory Slep e13d837405 Add alias to name in spec 2018-12-02 22:35:23 +01:00
Cory Slep 503e95e52e Add alias for url 2018-12-02 20:07:01 +01:00
Cory Slep 30f9f6a16b 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.
2018-12-02 20:04:56 +01:00
Cory Slep caa2e4d2fa Expand the as alias to the ActivityStreams URI 2018-12-02 13:56:36 +01:00
Cory Slep 90b12d43aa Fix bugs for handling aliased nodes and containers
Implemented the beginning of the container and index handling, but have
not yet completed it.
2018-12-02 13:55:29 +01:00
Cory Slep b657bd2307 Add some OWL ontology implementations 2018-12-01 18:31:35 +01:00
Cory Slep c61bd2d129 Add rdf ontology nodes, make processing mandatory. 2018-12-01 16:36:33 +01:00
Cory Slep 94569ca549 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.
2018-11-29 22:53:48 +01:00
Cory Slep 68f6602ebb Fix fork imports and rearrange parsing functions 2018-11-29 01:22:56 +01:00
Cory Slep 0470f8e603 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.
2018-11-28 23:50:07 +01:00
Cory Slep 8b4f9fc81c Prepare tool for ingesting JSON LD context defs. 2018-11-28 21:40:11 +01:00
Cory Slep 2709d26229 Ran gofmt in props dir 2018-11-28 21:39:11 +01:00
Cory Slep 9cae676dd9 Add activitystreams specification definition.
Credit for the file goes to:
https://github.com/gobengo/activitystreams2-spec-scraped/blob/master/data/activitystreams-vocabulary/1528589057.json
2018-11-28 21:38:40 +01:00