Vocabulary/CfP

= Call for Participation =

Schema
Please add proposals for common properties for relations between a certain type of article.

Schema: === Article Type X === Relations: * rel1 (to Article A) * rel2 (to Article B) * rel3 (to Value C) * ...

municipality

 * Has Mayor (Article of Mayor, from_Date)
 * Had Mayor (Article of Mayor, from_Date, to_Date)
 * Is Part of (Article of state, country, etc)
 * Was Part of (Article of state, country, etc)
 * Has Border (Article of other municipality)
 * Area (Value: km²)
 * Population (Value: int)
 * GeoLocation (Value: lat, lon)
 * Alias (Value: Historical name or other alias)
 * Website (Value: URL of the official website)


 * Appreciating this proposal, I want to suggest to clearly distinct counties from states from countries. Following this idea, I would propose the county attribute typically useful in Regional Wikis, which transitively would imply isPartOf(State) as County already would reference to State already:


 * county (Article of County)

County

 * name (Value: String) Full official name of this county, e. g. "Landkreis Enzkreis" in contrast to a possibly abbreviated or incomplete name of the county chosen as the name of the article itself, e. g. "Enzkreis".
 * state (Article of State) The state where this county belongs to.

State

 * name (Value: String) Full official name of this state, e. g. "Federal Republic of Germany" in contrast to a possibly abbreviated or incomplete name of the state chosen as the name of the article itself, e. g. "Germany".

Person

 * firstName (Value: String)
 * lastName (Value: String)
 * nickname (Value: String) Historic persons typically are better identified by their nickname, e. g. "Türkenluis" instead of their actual name.
 * birthday (Value: Date)
 * birthplace (Article of Municipality)
 * photo (Picture)

Syntax
Appreciating the above collection of semantic attributes, I want to propose a changed syntax:
 * Less inflated phrasing: e. g. mayor instead of Has Mayor etc.
 * Classes always upper camel case, e. g. Municipality instead of municipality etc.
 * Attributes always lower camel case, e. g. wasPartOf, geoLocation etc.
 * Improved eloquence, e. g. adjacentTo instead of Has Border.
 * If technically possibly, using reversed relationships for easier expressions: Not Municipality::hasMayor(Person) but Person::mayorOf(Municipality) etc.