Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
CatholicChurch may be subclassOf Church #1605
Instead of making CatholicChurch a subclass of church, I would suggest adding a property "denomination" to Church. This would allow any denomination to be indicated, which would save us from having to create a subclass for each and every denomination (e.g., BaptistChurch, PresbyterianChurch, LutheranChurch).
The issue of denominational affiliation is a difficult one, and it wouldn't make much sense to create a subtype for every variation. For example, over 60 separate Baptist denominations exist in the US alone. Having a property like denomination that accepts any value allows for distinctions between the Southern Baptist, American Baptist, National Baptist, etc. without the need for subclasses (which would never be exhaustive anyway). It would allow churches to indicate their affiliation, even when they belong to a new group for which no class exists.
Another (perhaps more elegant) approach would be to make Church a subclass of Organization as well as Place, since the term "church" refers not only to a building but to the group that meets in that building. If we take this approach, denomination would not need to be added, because the memberOf or parentOrganization properties could indicate the larger denomination to which the church belongs. This would also give it access to other properties of Organization that would be useful (such as employee, foundingDate, etc.). This might also be a good idea for other subclasses of PlaceOfWorship.
I definitely agree about your proposal but it seems a bit off topic here. This task is about making the CatholicChurch class, that already exists, a subclass of Church. It is a change that seems still relevant if we do not remove the CatholicChurch class. Put your proposal in a new task seems more appropriate to me.