Updated deps and a fresh coat of paint!#1
Updated deps and a fresh coat of paint!#1trevenrawr wants to merge 6 commits intordf-elixir:masterfrom
Conversation
|
Hi @trevenrawr, thanks for the PR and for looking into this! To give you some context: I am currently focusing on other OSS projects, and since the community demand for ShEx has been quite low compared to SHACL, I haven't actively maintained this library recently. That being said, I am open to releasing an update if there is a genuine need, but I cannot invest time in debugging or implementation work myself. Here is my proposal: The current changes likely only address warnings related to the Elixir version bump, but a full upgrade to RDF.ex 2.0 likely requires logic adjustments due to breaking changes in the underlying library. Also, the CI is currently broken (likely due to outdated runner versions). If you are willing to do the heavy lifting:
If you get this PR to a "green" and working state, I am happy to do a code review and publish a new release for you. |
|
Thanks for the context, @marcelotto ! I'm really just getting started on my journey with RDF and Elixir, so I'm kind of like a kid pulling all the toys off the shelf to check them out before settling down to play. I can see what you mean about SHACL vs. ShEx now that I'm digging a bit deeper. (Perhaps SHACL is what I want after all; instead of using ShEx to check shapes before committing data to a graph, I can use SHACL to help perform audits and surface missing/invalid data after insertion... 🤔) Rhetorical asides aside, I'm still interested in contributing! It'll be on my back-burner, but I think I'd still like to work through both points of your proposal as a learning activity. And maybe once I have better wrapped my head around a few different patterns I can employ, I'll try to write is up in some docs for rdf-elixir.dev (which is wonderful, btw)! Thanks again, and more soon! |
|
That sounds like a plan! Tackling this PR as a learning exercise is a perfect way to get deeper into the RDF internals. Take your time, there is no rush. Regarding your thoughts on validation: Depending on what you're doing, Grax might actually suffice for your needs. If you mainly want to map RDF to Elixir structs and ensure correct types or simple graph structures within your application logic, Grax is usually the easiest way. However, if you have more complex constraints (like conditional rules) or want your constraints to be portable, language-independent or standardized, then SHACL is definitely the way to go. |
I was getting set up to start playing with ShEx today (to try applying my ShEx-ported LinkML models) when I was hit with an incompatibility in my project with the latest
:rdfversion. So I figured I'd take a stab at freshening ShEx up a bit... and it wasn't too bad!I tried to keep the changes minimal, focused on compiler errors, compiler warnings, and changes to formatting (with help from
mix format --migrate), but I'm happy to fix anything that looks off to you.I'm also not sure what to do with the version, but given the major bump in
:rdfas a dep, a "major-most" bump here to0.2.0seemed reasonable (despite no new functionality).Thanks for putting all this together; I'm excited to play with it!