Business and Organization Refactoring

From Freebase

Jump to: navigation, search

This is a work in progress to map out the type and property refactorings and data migrations necessary for the new business model. Once finalized, the refactoring and migration tasks will probably be filed in JIRA. Note that these tables only indicate equivalence between properties; it does not (currently, anyway) establish which of the equivalent properties and types will be kept (some of the /base/business2 types which were created for testing and proof-of-concept will probably simply be eliminated, for example).

The arduous process of creating the tasks for the refactoring and migration has begun, and can be viewed in JIRA as DA-1124.

Contents

Property Refactorings

BREAKING CHANGES

This is a summary of types and properties which will be "broken" by this refactoring. "Broken" in this case means that queries that use these types and properties as they currently exist will no longer work.

These types will be deleted:

  • /education/organization_adviser_tenure
  • /business/board_member_title


Broken Property Notes
/business/company/ticker_symbol Issues, not Companies, will have ticker symbols
/business/company/market_capitalization Issues, not Companies, will have market capitalization
/business/company/major_shareholders Will be deleted (a similar concept will exist but in an incompatible schema)
/business/company_division/created_from_acquistion_of_company Will be deleted
/business/board_membership/title Property will be deleted; refactored into a text string
/organization/organization_board_membership/title Property will be deleted; refactored into a text string
/business/company_shareholder/major_shareholder_of Will expect Issues, rather than Companies. The property will be unchanged, but the new expected type is incompatible with the old expected type.
/business/stock_ticker_symbol/company Ticker Symbols will be connected to Issues, not Companies; this property will be deleted.
/education/university_system/universities Adding a CVT
/education/university/university_system Adding a CVT
/education/student_organization/adviser Removes a CVT
/education/student_organization_adviser/organizations_advised Removes a CVT
/government/government_agency/sub_agency Adding a CVT
/government/government_agency/parent_agency Adding a CVT
/sports/sports_league/contained_by Adding a CVT
/sports/sports_league/contains Adding a CVT
/education/organization_adviser_tenure/organization Type will be deleted
/education/organization_adviser_tenure/adviser Type will be deleted
/education/organization_adviser_tenure/from Type will be deleted
/education/organization_adviser_tenure/to Type will be deleted
/business/board_member_title/people_with_this_title Type will be deleted
/organization/organization/headquarters Property will be changed from unique to non-unique

Business Commons

/business/company

Current Property Maps to
/business/company/founded /base/business2/organization/founding_date
/business/company/slogan /base/business2/organization/slogan
/business/company/company_type /base/business2/organization/legal_structure
/business/company/place_founded /base/business2/organization/place_founded
/business/company/headquarters /base/business2/organization/headquarters
/business/company/industry /base/business2/business_operation/industry
/business/company/revenue /base/business2/business_operation/revenue
/business/company/operating_income /base/business2/business_operation/operating_income
/business/company/net_income /base/business2/business_operation/net_profit
/business/company/number_of_employees Move Property to /business/employer
/business/company/parent_company /base/business2/organization/parent
/business/company/ticker_symbol /base/business2/issuer/issue/trading_symbol I (Toby) will deal with these.
/business/company/subsidiary_companies /base/business2/organization/child
/business/company/founders /base/business2/organization/founder
/business/company/board_members /base/business2/organization/governance
/business/company/advisors /base/business2/organization/advisors
/business/company/previous_names /base/business2/organization/previous_names
/business/company/spun_off_from /base/business2/organization/spun_off_from
/business/company/spin_offs /base/business2/organization/spin_offs
/business/company/companies_acquired /base/business2/organization/acquisitions
/business/company/acquired_by /base/business2/organization/acquired_by
/business/company/product_of_merger /base/business2/organization/product_of_merger
/business/company/involved_in_merger /base/business2/organization/involved_in_merger
/business/company/market_capitalization /base/business2/issuer/issue:/base/business2/issue/market_capitalization Note that companies with market cap values would be typed as "Issuer" and their market capitalization values mapped to their actual issues (if any) -- this may be an impossible migration and we might just have to eat any market cap. data.
/business/company/major_shareholders Deprecated Replaced by /base/business2/holding/holder (but note that in the new schema, only issues are held, not companies)
/business/company/locations /base/business2/business_operation/locations
/business/company/divisions /base/business2/organization/child
/business/company/brands /base/business2/consumer_company/brands
/business/company/product_lines /base/business2/consumer_company/product_lines
/business/company/products /base/business2/consumer_company/products

/business/defunct_company

Current Property Maps to
/business/defunct_company/reason_for_ceasing_operations No change
/business/defunct_company/ceased_operations /base/business2/defunct_organization/ceased_operations

/business/company_termination_type

Move to /organization

Current Property Maps to
/business/company_termination_type/companies No change

/business/company_type

No schema changes. Type should be renamed to "Organization legal structure" and a new key added to match the name.

/business/board_member

Current Property Maps to
/business/board_member/board_memberships /base/business2/leader/governance_of
/business/board_member/organization_board_memberships /base/business2/leader/governance_of

(Note: both properties will be refactored into the same property)


/business/company_advisor

Current Property Maps to
/business/company_advisor/companies_advised /business2/organization_advisor/organizations_advised

/business/company_division

Current Property Maps to
/business/company_division/merged_with /base/business2/organization/involved_in_merger
/business/company_division/product_of_merger /base/business2/organization/product_of_merger
/business/company_division/split_into /base/business2/organization/spin_offs
/business/company_division/split_from /base/business2/organization/spun_off_from
/business/company_division/division_of /base/business2/organization/parent
/business/company_division/created_from_acquistion_of_company Deprecated

/business/company_division_relationship

Merge with /base/business2/organization_relationship

Current Property Merge With
/business/company_division_relationship/from /base/business2/organization_relationship/from
/business/company_division_relationship/company /base/business2/organization_relationship/parent
/business/company_division_relationship/division /base/business2/organization_relationship/child
/business/company_division_relationship/to /base/business2/organization_relationship/to

/business/division_merger

Merge with /base/business2/organization_merger

Current Property Merge With
/business/division_merger/became_division /base/business2/organization_merger/became_organization
/business/division_merger/date /base/business2/organization_merger/date
/business/division_merger/divisions_merging /base/business2/organization_merger/organizations_merging

/business/division_split

Merge with /base/business2/organization_spin_off

Current Property Merge With
/business/division_split/divisions_split_into /base/business2/organization_spin_off/child
/business/division_split/division_split_from /base/business2/organization_spin_off/parent
/business/division_split/date /base/business2/organization_spin_off/date

/business/board_membership

Merge with /base/business2/governorship

Current Property Maps to
/business/board_membership/member /base/business2/governorship/person
/business/board_membership/title No direct mapping; data will be refactored into /base/business2/governorship/title and /base/business2/governorship/role
/business/board_membership/from /base/business2/governorship/from
/business/board_membership/to /base/business2/governorship/to
/business/board_membership/company /base/business2/governorship/organization

/business/board_member_title

Delete, but first take the name of these instances and convert them to text and migrate them to /base/business2/governorship/title, and also analyze the names and extract /base/business2/governorship/role from them.

/business/company_founder

Merge with /organization/organization_founder

Current Property Merge With
/business/company_founder/companies_founded /organization/organization_founder/organizations_founded Note that expected type is currently /organization/organization, not organization2

/business/company_shareholder

Merge with /base/business2/shareholder

Current Property Merge With
/business/company_shareholder/major_shareholder_of /base/business2/shareholder/holding Note that expected type changes from /business/company to the incompatible type /base/business2/issue. Data will have to be migrated from /business/company to the company's issue (if any). This will be a very fun migration task.

/business/subsidiary_relationship

Merge with /base/business2/organization_relationship

Current Property Merge With
/business/subsidiary_relationship/from /base/business2/organization_relationship/from
/business/subsidiary_relationship/parent /base/business2/organization_relationship/parent
/business/subsidiary_relationship/subsidiary /base/business2/organization_relationship/child
/business/subsidiary_relationship/to /base/business2/organization_relationship/to

/business/spin_off

Merge with /base/business2/organization_spin_off

Current Property Merge With
/business/spin_off/child_company /base/business2/organization_spin_off/child
/business/spin_off/parent_company /base/business2/organization_spin_off/parent
/business/spin_off/date /base/business2/organization_spin_off/date

/business/acquisition

Merge with /base/business2/organization_acquisition

Current Property Merge With
/business/acquisition/date /base/business2/organization_acquisition/date
/business/acquisition/company_acquired /base/business2/organization_acquisition/child
/business/acquisition/acquiring_company /base/business2/organization_acquisition/parent
/business/acquisition/divisions_formed base/business2/organization_acquisition/division

/business/merger

Merge with /base/business2/organization_merger

Current Property Merge With
/business/merger/became_company /base/business2/organization_merger/became_organization
/business/merger/date /base/business2/organization_merger/date
/business/merger/companies_merging /base/business2/organization_merger/organizations_merging

/business/stock_ticker_symbol

Current Property Maps to
/business/stock_ticker_symbol/company Unknown; incoming property /base/business2/issue/trading_symbol would be reciprocated. Unclear if there's a migration possibility here or not.

Organization Commons

/organization/organization

Current Property Maps to
/organization/organization/sub_organization /base/business2/organization/child
/organization/organization/parent_organization /base/business2/organization/parent
/organization/organization/number_of_members /base/business2/membership_organization/number_of_members
/organization/organization/date_founded /base/business2/organization/founding_date
/organization/organization/date_dissolved /base/business2/defunct_organization/ceased_operations
/organization/organization/founders /base/business2/organization/founder
/organization/organization/board_members /base/business2/organization/governance
/organization/organization/geographic_scope /base/business2/organization/geographic_scope
/organization/organization/members /base/business2/membership_organization/members
/organization/organization/headquarters /base/business2/organization/headquarters
/organization/organization/sectors
/organization/organization/committees /base/business2/organization/committees
/organization/organization/organization_type
/organization/organization/involved_in_merger /base/business2/organization/involved_in_merger
/organization/organization/product_of_merger /base/business2/organization/product_of_merger
/organization/organization/spun_off_from /base/business2/organization/spun_off_from
/organization/organization/spin_offs /base/business2/organization/spin_offs
/organization/organization/affiliated_organizations Replaced by /base/business2/organization_partnership

/organization/organization_merger

Merge with /base/business2/organization_merger

Current Property Maps to
/organization/organization_merger/became_organization /base/business2/organization_merger/became_organization
/organization/organization_merger/date /base/business2/organization_merger/date
/organization/organization_merger/organizations_merging /base/business2/organization_merger/organizations_merging

/organization/organization_spin_off

Merge with /base/business2/organization_spin_off

Current Property Merge With
/organization/organization_spin_off/child_company /base/business2/organization_spin_off/child
/organization/organization_spin_off/parent_company /base/business2/organization_spin_off/parent
/organization/organization_spin_off/date /base/business2/organization_spin_off/date

/organization/organization_board_membership

Merge with /base/business2/governorship

Current Property Maps to
/organization/organization_board_membership/member /base/business2/governorship/person
/organization/organization_board_membership/title No direct mapping. Data will be refactored to /base/business2/governorship/title and /base/business2/governorship/role
/organization/organization_board_membership/from /base/business2/governorship/from
/organization/organization_board_membership/to /base/business2/governorship/to
/organization/organization_board_membership/organization /base/business2/governorship/organization

/organization/organization_founder

Will be merged with /business/company_founder.

Current Property Maps to
/organization/organization_founder/organizations_founded Has no analog in organization2 (the organization2 schema actually reuses the commons type)

/organization/non_profit_organization

Current Property Maps to
/organization/non_profit_organization/revenue /base/business2/business_operation/revenue
/organization/non_profit_organization/endowment /base/business2/endowed_organization/endowment

/organization/organization_membership

Current Property Maps to
/organization/organization_membership/from /base/business2/organization_membership/from
/organization/organization_membership/member /base/business2/organization_membership/member
/organization/organization_membership/organization /base/business2/organization_membership/organization
/organization/organization_membership/to /base/business2/organization_membership/to


/organization/organization_member

Current Property Maps to
/organization/organization_member/member_of /base/business2/organization_member/member_of
/organization/organization_member/committees_served_on No change

Education Commons

/education/institution

Current Property Maps to
/education/educational_institution/founded /base/business2/organization/founding_date
/education/educational_institution/founder /base/business2/organization/founder
/education/educational_institution/student_organizations /base/business2/organization/child
/education/educational_institution/address /base/business2/organization/headquarters


/education/university_system

It seems quite possible that this type would be deprecated, since its only property would be replaced by the Organization2 type, and this assertion could instead be made via an "organization type" type (if the new schema has one).

Current Property Maps to
/education/university_system/universities /base/business2/organization/child This migration adds a CVT

/education/university

Current Property Maps to
/education/university/university_system /base/business2/organization/parent This migration adds a CVT
/education/university/endowment /organization/endowed_organization/endowment

/education/school_founder

Current Property Maps to
/education/school_founder/schools_founded /organization/organization_founder/organizations_founded

/education/organizational_presence

Current Property Maps to
/education/organizational_presence/organization /base/business2/organization_relationship/child
/education/organizational_presence/school /base/business2/organization_relationship/parent
/education/organizational_presence/from /base/business2/organization_relationship/child
/education/organizational_presence/to /base/business2/organization_relationship/to

/education/student_organization

Current Property Maps to
/education/student_organization/school /base/business2/organization/parent
/education/student_organization/adviser /base/business2/organization/advisors This mapping removes a CVT (i.e., the current education schema has one, but the proposed business2 schema does not). There are no instances of the /education/organization_adviser_tenure CVT.

/education/student_organization_adviser

Current Property Maps to
/education/student_organization_adviser/organizations_advised /base/business2/organization_advisor/organizations_advised This mapping removes a CVT (i.e., the current education schema has one, but the proposed business2 schema does not). There are no instances of the /education/organization_adviser_tenure CVT.

/education/organization_adviser_tenure

This CVT would be deleted.

Other Commons

/government/government_agency

Current Property Maps to
/government/government_agency/sub_agency /base/business2/organization/child This migration adds a CVT
/government/government_agency/parent_agency /base/business2/organization/parent This migration adds a CVT
/government/government_agency/government NO CHANGE
/government/government_agency/predecessor_agency These properties cover the notions of merger, acquisition, and spin-off. It will be difficult to migrate this data programmatically.
/government/government_agency/successor_agency These properties cover the notions of merger, acquisition, and spin-off. It will be difficult to migrate this data programmatically.
/government/government_agency/jurisdiction NO CHANGE
/government/government_agency/date_founded /base/business2/organization/founding_date
/government/government_agency/date_dissolved /base/business2/defunct_organization/ceased_operations

/sports/sports_league

Current Property Maps to
/sports/sports_league/contained_by /base/business2/organization/parent This migration adds a CVT
/sports/sports_league/contains /base/business2/organization/child This migration adds a CVT

/military/military_unit

Current Property Maps to
/military/military_unit/formed /base/business2/organization/founding_date
/military/military_unit/disbanded /base/business2/defunct_organization/ceased_operations
/military/military_unit/part_of /base/business2/organization/parent
/military/military_unit/subdivisions /base/business2/organization/child
/military/military_unit/place_of_origin /base/business2/organization/place_founded
/military/military_unit/armed_force Might map to /base/business2/organization/parent, essentially merging "Armed Force" and "Military Unit"

/military/military_unit_assignment

Current Property Maps to
/military/military_unit_assignment/from /base/business2/organization_relationship/from
/military/military_unit_assignment/to /base/business2/organization_relationship/to
/military/military_unit_assignment/belongs_to /base/business2/organization_relationship/parent
/military/military_unit_assignment/subdivision /base/business2/organization_relationship/child

/military/armed_force

Current Property Maps to
/military/armed_force/units Might map to /base/business2/organization/child, essentially merging "Armed Force" and "Military Unit"

Commons Types That Would Include Business2 Types

This is a list of commons types that do not have any refactoring to be done based on the schema changes, but which should be made to include one or more of the new types (and therefore have all current instances typed with those included types).

Commons type Should include
/education/fraternity_sorority /base/business2/organization
/government/political_party /base/business2/organization
/organization/club /base/business2/organization
/religion/religious_order /base/business2/organization
/business/trade_union /base/business2/organization
/astronomy/astronomical_survey_project_organization /base/business2/organization
/protected_sites/governing_body_of_protected_sites /base/business2/organization
Personal tools