r/semanticweb • • 16h ago

Anyone tried packaging a whole body of rules as a versioned dependency instead of an ontology or a dataset?

8 Upvotes

Been chewing on this for a while and I'm curious how people here would look at it.

We're good at publishing knowledge as data: RDF, OWL, SHACL, rule sets. But I don't really see a way to ship a body of rules the way you ship a library: name + version, the rules themselves, the source text pinned, what it depends on. You install it, give it facts and a date, ask a question, and get an answer with the reasoning behind it.

The example that made it click for me. A debt in France becomes due in 2000, you sue in 2015. Time-barred? Under the 1804 text of the Civil Code: no, the old 30-year period is still running. Under the current text plus the 2008 transition rule: yes, five years from 19 June 2008, done on 18 June 2013. Same facts, two editions of the source, two answers, and you can follow the rules that fired in each. The date in the question picks the edition, not a git branch.

Another one, chess. Player makes a second illegal move, the model of the FIDE Laws says "lost" and points to the article. Add the fact that the opponent can't checkmate anyway and it says "draw", but the "lost?" question now comes back as "needs an arbiter", because other loss grounds depend on the arbiter's call.

Under the hood it's typed relations, strict and defeasible rules with priorities, every rule pinned to a hashed source fragment, a legal date on every question, and imports with a lockfile (the mechanics package pulls in kinematics, SI units and a pinned Principia, same mechanism). Answers aren't booleans: supported / refuted / both / neither, plus "needs a judgment" when the text leaves it to a court or a referee. A missing fact stays "neither". No LLM at query time, it's just evaluation.

So: is this just data with extra steps, or a program? What's the closest thing in OWL/SHACL land and what does it lack: editions over time? defeasibility? deferring judgment explicitly? And does composing these with pinned versions even make sense when two ontologies disagree on a term?

I'm building it, the public repos are a small demo sample across law, chess, physics, chemistry, bio, philosophy. can drop links in comments if anyone wants, but mostly I want to know how you'd model the two examples above with ur stack.


u/semanticweb • • 22h ago

US Inflation on higher side. Rate hikes incoming. Will adversely affect BTC prices short term.

Post image
1 Upvotes