5 Replies Latest reply on May 21, 2012 1:19 AM by Stephen French-Oracle

    Upgrade rulebase from 10.3 to 10.4 - Inferred Entities

      I just upgraded OPM from 10.3 to 10.4. Instead of creating entities on the fly I am attempting to infer entities. The rulebase contains a large number of attributes and some of them are throwing errors after inferring an entity. The error states that I must infer relationships and attributes since the containing entity is inferred.

      Attribute 'the item number' must be inferred in the inferred entity 'the order'. (OPA-E00346)


      Relationship 'the items' must be inferred due to the inferred entity 'the order'. (OPA-E00347)


      Items I updated when going from 10.3 to 10.4,

      Added attribute 'the order name' at the 'the order' entity level and changed 'the order' indentifying attribute to 'the order name'.
      Added attribute 'the item name' at the 'the item' entity level and changed 'the item' indentifying attribute to 'the item name'.

      created a rule: the orders ("Order 1") exists

      If I comment out the above rule the rulebase works as it did before with creating entities as you go, so the rule seems to be the cause of the error, or I am missing a step. Or do I need to rebuild the rulebase completely to fix quite a few errors that are stopping the rulebase from starting. I also attempted to create a entitiy creation table and that compiles but will not run due to the above errors.

      The Order
      The Item

      Any help is greatly appreciated.
        • 1. Re: Upgrade rulebase from 10.3 to 10.4 - Inferred Entities
          Switching an entity from being a standard user created entity to an inferred entity is not a small task. When you infer an entity, then everything associated with that entity must also be inferred.

          All attributes must be inferred, all relationships with the entity as a source or a target must be inferred. Unfortunately you can't go half way on this, and you will have to make all the associated attributes and relationships inferred.

          The basic principle at work here is that you cannot add base level data to something that may, or may not exist and so everything must be inferred.
          1 person found this helpful
          • 2. Re: Upgrade rulebase from 10.3 to 10.4 - Inferred Entities
            How do you go about updating an attribute to be inferred? I was able to remove the relationship infer error but still have quite a few errors regarding attributes.

            Can you give me an example of changing an attribute from standard to inferred?

            I've read through the help on this and am still stumped.
            • 3. Re: Upgrade rulebase from 10.3 to 10.4 - Inferred Entities
              Matt Sevin-Oracle
              "inferred attributes" are determined automatically based on whether a rule concludes the attribute. For example, if no rule concludes "the person's age" then the attribute is considered a base level attribute and a value for the attribute must be provided as input data (i.e. by the user of an interview). However, if a rule concludes "the person's age" (perhaps from "the person's birth date") then the attribute "the person's age" will be an inferred attribute.

              In short, all attributes of an inferred entity must themselves be inferred as the conclusion of a rule or rule table.
              • 4. Re: Upgrade rulebase from 10.3 to 10.4 - Inferred Entities
                Is there a way to input attribute data of an inferred entity from the interview session? In my case I have a group of entities that I would usually loop through in the interview session in 10.3 entering data about each of them as you go, but since we are moving torwards inferring these entities, how would I also infer the attributes of these entities but still be able to update individual attributes from the session?

                Or, if it is not possible to do this, is there a way to disable these error messages?, or convert these inferred entities into "user" created entities?
                • 5. Re: Upgrade rulebase from 10.3 to 10.4 - Inferred Entities
                  Stephen French-Oracle
                  You can't collect information about an inferred entity. As far as OPA is concerned, an inferred entity means everything about that entity is inferred.

                  Inferred entities are not intended to support data collection scenarios, they were added to support inferencing situations which could not be neatly handled using inferred relationships alone. For example, grouping entity instances together under some criteria, where each group is an entity instance (eg. "the household member age bracket").

                  If you are trying to use inferred entities to change the way entity instances are collected (eg. having a user enter "how many orders are there?" rather than clicking "add instance" for each order they have) then what you really want is some kind of customisation to web determinations.
                  1 person found this helpful