Implicit mapping I call Managed Object Graphs MOGs. So you
can write
Person( address.street == "my road" )
And that internally would get translated too
$p : Person()
Address( person == $p, street == "my road" )
As there is no doubt that the current explicit bindings
approach on objects is too verbose and hard to read. Nested
accessors add a lot of readability.
So what if Address is not an inserted fact? So far, a CE with
type Foo(...) implied the existence of a fact of that type.
I'm not sure that inserting some object should imply the
insertion of all of its descendants as facts as well...