{"id":1321,"date":"2026-02-15T20:14:31","date_gmt":"2026-02-15T20:14:31","guid":{"rendered":"https:\/\/docs.ai.drawconclusions.org\/?page_id=1321"},"modified":"2026-02-24T12:45:56","modified_gmt":"2026-02-24T12:45:56","slug":"implementation-soto","status":"publish","type":"page","link":"https:\/\/docs.ai.drawconclusions.org\/?page_id=1321","title":{"rendered":"Implementation Notes: SOTO"},"content":{"rendered":"<h2>Overview<\/h2>\n<ul>\n<li>This is the detailed build reference for SOTO relations (legacy system).<\/li>\n<li>The current <code>\/var\/www<\/code> codebase does not implement this yet.<\/li>\n<\/ul>\n<h2>Database Tables (Legacy)<\/h2>\n<h2>Tables<\/h2>\n<ul>\n<li><code>relation_soto<\/code> (SOTO relations)<\/li>\n<li><code>auto_item.soto_string<\/code> (the text field where references are embedded)<\/li>\n<\/ul>\n<h2>Core Entities \/ Traits<\/h2>\n<h2>Entities<\/h2>\n<ul>\n<li><code>- old\/dracon\/src\/Entity\/Item\/Relation\/SimpleOneToOneRelation\/SotoDbRelationEntity.php<\/code><\/li>\n<li><code>- old\/dracon\/src\/Entity\/Item\/AutoItem\/RelationTrait\/AutoItemEntitySotoRelationTrait.php<\/code><\/li>\n<li><code>- old\/dracon\/src\/Entity\/Item\/AbstractItemEntitySotoStringTrait.php<\/code><\/li>\n<\/ul>\n<h2>Relation Types<\/h2>\n<h2>Types<\/h2>\n<ul>\n<li>Relation type VOs (legacy):<\/li>\n<li><code>CoRelationTypeDerivationVO<\/code><\/li>\n<li><code>CoRelationTypeClassificationVO<\/code><\/li>\n<li><code>CoRelationTypeIllustrationVO<\/code><\/li>\n<li><code>CoRelationTypeParentVO<\/code><\/li>\n<li>Convention mapping: <code>- old\/dracon\/src\/Conventions\/App\/RelationConvention.php<\/code><\/li>\n<\/ul>\n<h2>Processing Services (Legacy)<\/h2>\n<h2>Services<\/h2>\n<ul>\n<li>Aggregation: <code>- old\/dracon\/src\/Service\/Item\/Relation\/TypeSpecific\/Content\/RelationProcessing\/AggregationRelationProcessingService.php<\/code><\/li>\n<li>Example processors:<\/li>\n<li><code>- old\/dracon\/src\/Service\/Item\/Relation\/TypeSpecific\/Content\/RelationProcessing\/Soto\/DerivationRelationProcessingService.php<\/code><\/li>\n<\/ul>\n<h2>Back-Link<\/h2>\n<h2>Backlink<\/h2>\n<ul>\n<li>Architecture: <code>architecture_relations_soto.md<\/code><\/li>\n<\/ul>\n<p class=\"developerdocs-id-search\" aria-hidden=\"true\">DeveloperDoc ID: dd_id_b7c374ad48<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview This is the detailed build reference for SOTO relations (legacy system). The current \/var\/www codebase does not implement this yet. Database Tables (Legacy) Tables relation_soto (SOTO relations) auto_item.soto_string (the text field where references are embedded) Core Entities \/ Traits Entities &#8211; old\/dracon\/src\/Entity\/Item\/Relation\/SimpleOneToOneRelation\/SotoDbRelationEntity.php &#8211; old\/dracon\/src\/Entity\/Item\/AutoItem\/RelationTrait\/AutoItemEntitySotoRelationTrait.php &#8211; old\/dracon\/src\/Entity\/Item\/AbstractItemEntitySotoStringTrait.php Relation Types Types Relation type VOs (legacy): CoRelationTypeDerivationVO [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1320,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[],"doc_layer":[28],"class_list":["post-1321","page","type-page","status-publish","hentry","layer-dd_id_db61bf94ec"],"_links":{"self":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1321"}],"version-history":[{"count":5,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1321\/revisions"}],"predecessor-version":[{"id":3841,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1321\/revisions\/3841"}],"up":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1320"}],"wp:attachment":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1321"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_category&post=1321"},{"taxonomy":"doc_layer","embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_layer&post=1321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}