Article 9 of the Business Rules Manifesto states:
Article 9. Of, By, and For Business People, Not IT People
9.1. Rules should arise from knowledgeable business people.
9.2. Business people should have tools available to help them formulate, validate, and manage rules.
9.3. Business people should have tools available to help them verify business rules against each other for consistency.
Business rules can relate to data quality logic and business logic. Both are important to business professionals. Business rules are used to both describe a domain and to verify that information expressed is consistent with that description.
Take a basic data quality example: the allowed relations between the categories of pieces that make up a digital financial report. I call this the model structure relations. The categories of pieces include: Network, Table, Axis, Member, Line Items, Abstract, and Concept.
The US GAAP XBRL Taxonomy Architecture Section 4.5 describes the relations between those categories, sort of. You can go read the document and sort out the allowed relations.
This set of machine-readable XBRL definition relations likewise describes allowed/disallowed relations between the categories of the pieces. While that information is machine readable, it is hard for a human to understand that those XBRL definition relations are saying. It is almost impossible for a business professional to understand them.
Why does a business professional need to understand the relations? First, to determine if the relations are correct. Second, when working with a digital financial report, they need transparency into why something is wrong: which rule is being violated.
This is another way to express business rules:
That graphical view above allows a business professional to better understand the machine-readable rules. The tabular view below does the same thing.
Business professionals don't know how to read Python code. Why would the XBRL US Data Quality Committee provide business rules in the Python format? First, business professionals cannot read them. Second, if you don't use the Python language to create your software you need to convert the Python into the format that you need.
A neutral format such as the XBRL global standard is a much better medium for expressing business rules. Software can read the rule and convert it into whatever format they might desire.