Main Page
Welcome to the City Data Model Collaboration Wiki!
We have created this website to enable stakeholders and related standards groups to foster international, Standards Development Organization (SDO)-independent collaboration on a common City Data Model.
Getting started
Want to contribute? Log-in or create an account! Anyone with an account can comment on proposed or existing terms, and even propose their own.
Propose new terms, or definitions for existing classes , object properties, or data properties. Authors are advised protect any pages they create to prevent other users from editing page content directly. Instead, comments are encouraged via the associated Discussion pages.
How it works
- Browse and review existing content
- Comment on existing content and suggest changes or revisions
- Propose additions:
- Propose a new class
- Propose a new definition for an existing class
- Propose a new object property (a relationship between two classes)
- Propose a new definition for an existing object property
- Propose a new data property
- Propose a new definition for an existing data property
The Workflow
Anyone can propose a new term. Once a term has been proposed, it becomes open for the specification of definitions from the community. The administrators will review all proposed definitions and identify the maximal common definition for the term. The term and resulting set of definitions will then be published as approved in the City Data Model.
Here's a high-level overview of the process that we follow when a new term is proposed for the City Data Model:
<uml> @startuml title Proposing a New Term for the CDM
start
- Specify the name of the new class or property;
- Provide a natural language description of new term;
- New term page created
Term status="Proposed";
- Community review;
if (Term is captured by an existing class or property?) then (yes)
:indicate redundancy in comments; if (community in agreement?) then (Yes) :Close proposal Term status="closed"; stop else(No) while (undecided) is (Yes) :Discuss; :Editorial review; endwhile(No); endif; else(No) endif; :Term status="Pending Approval"; while (Discussion quiescence (or other cutoff criteria)?) is (No) :Community proposes definitions; endwhile(Yes) :Admin specify maximum common definition; :Term status="Approved"; :Publication of final version of term page (change protected), including maximum common definition and specialized definitions;
stop
@enduml </uml>
<uml> @startuml title Submitting a definition for a proposed term
start
- Navigate to proposed term page;
- Select "Add Definition";
- Specify description of specialized term
What distinguishes this definition of the term?;
- Specify use case(s)
Why is this specialized definition needed?;
- Specify specialized definition in UML and DL
If DL is not sufficient, supplement with SWRL or SHACL;
- Publish for review
Specialized definition status="Pending Approval";
- Community reviews proposal;
- Users suggest revisions/additions to definition (properties, constraints), use cases;
if (Owner accommodates suggestions?) then (Yes)
:Comment resolved;
else(No)
:Comment left unresolved;
endif;
- Editorial review;
:Editorial comments to author; :Author revisions; :Final review; :Specialized definition status="Approved" (change protected);
stop
@enduml </uml>
Note: these diagrams were drawn using PlantUML. PlantUML is a handy tool that allows you to create UML (and non-UML) diagrams using simple text descriptions. It's supported by this Wiki to help you contribute more effectively.
To Do
Link to Github
Link to publications (reports, papers, ...)
Add summary of classes / class definitions for each city-level ontology
Set permissions for different user types