DataModeler > Aurelius > XData - Join 2 Join tables

beginning (I guess I'm not the first facing to this difficulty) with Aurelius and Xdata I'm trying to design a model to present and maintain a catalog of products (simple for test)
I tried different strategy to expose join (jointure) between tables

Once entities in an xdata server I get issue with operations on entities when creating or updating relationtable
structure becomes too complex to be exposed in JSON
ex :

    "value": [
            "$id": 1,
            "link_products_catalogs_id": 1,
            "catalog_id": {
                "$id": 2,
                "catalog_id": 1,
                "catalog_name": "catalog_1",
                "link_products_catalogsList": [
                        "$ref": 1
                        "$id": 3,
                        "link_products_catalogs_id": 3,
                        "catalog_id@xdata.proxy": "link_products_catalogs(3)\/catalog_id",
                        "product_id@xdata.proxy": "link_products_catalogs(3)\/product_id"

How to create such table to join both product and catalog with a simple way to expose logical in JSON?

Thanks for your help to a newbie

The JSON reflects the database structure, which is correct. Not sure what do you mean by "simple way"? I assume it's a "different way"?
Note that with XData you can always use service operations and implement your REST API the way you want as with any other framework. You can define your own DTO objects (that will reflect in JSON), retrieve data from database and build your DTOs as you wish.