Difference between revisions of "Main Page"

From City Data Model Project Collaboratory
Jump to navigation Jump to search
 
(55 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<h1> Welcome to the City Data Model Collaboration Wiki!</h1>
+
<h1> Welcome to the City Data Model Collaboration Wiki</h1>
We have created this website to enable stakeholders and related standards groups to:
+
== Introduction ==
* Review the contents of the [[City_Data_Model|City Data Model]].
+
This website is intended to foster international collaboration between stakeholders and related standards groups on a common [[City_Data_Model_Project_Collaboratory_Wiki:About|City Data Model]]. The results of this effort will be informed by and feed into the various city data standards development projects being undertaken by various Standards Development Organizations.
* Propose new classes or properties
 
* Comment on existing classes
 
* Comment on proposed classes
 
* Suggest changes and additions
 
  
 +
A common data model enables city software applications to share information, plan, coordinate, and execute city tasks, and support decision making within and across city services, by providing a precise, unambiguous representation of information and knowledge commonly shared across city services. This requires a clear understanding of the terms used in defining the data, as well as how they relate to one another. Beyond syntactic integration (e.g. common data types and protocols), this requires semantic integration: a consistent, shared understanding of the meaning of information.
  
== How it works ==
+
The City Data Model is stratified into three levels of abstraction (pictured below). The Foundation Level covers very general concepts such as Time, Location, and Activity.  The City Level covers concepts that are general to cities and span all services such as Households, Services, Residents. The Service Level spans concepts commonly associated with a particular service but still shared with other services, such as Vehicles and Transportation network.
Anyone with an account can comment on proposed or existing terms, and even propose their own.
+
[[File:City data levels.png|thumb|center|The three levels of the city data model: foundational concepts, city-level concepts, and service-level concepts.]]
  
== Getting started ==
+
=== The big picture ===
Want to contribute? Log-in or create an account!
+
The goal of the Collaboratory is to bring together related definitions from various perspectives (including but not necessarily limited to existing standard specifications), for terms relevant for the city domain from various perspectives in order to to develop a global consensus regarding the classes, properties, and definitions that should be included in a City Data Model.
 +
This website will serve as a means of establishing this consensus through open communication and collaboration. It facilitates the sharing of definitions, suggestions, comments, and critiques. These activities will be guided by a City Data Model Reference Architecture (CDMRA) and will enable the identification of formal relationships between definitions, with the goal of eventually identifying a [[Minimum viable definition|minimum viable definition]] for each term. This definition will be formulated such that the relationship with any more specific terms will be clearly identifiable and understandable.
  
See something missing?
+
The aim of the CDM is not to specify a single, monolithic city data standard, but rather to identify and define the core set of terms necessary to serve as the bridge between existing standards and applications operating in the city context.
Propose new terms, or definitions for existing [[:Category:Class|classes]] , [[:Category:ObjectProperty|object properties]], or [[:Category:DataProperty|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 ==
+
=== Beta Disclaimer ===
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.
+
Please note that this is a beta version of the City Data Model Collaboratory website. The website is still undergoing testing and evaluation. Should you encounter any bugs, glitches, or other problems on the website, please let us know immediately and we will address any issues as soon as possible. Your help in this regard is greatly appreciated.
  
Here's a high-level overview of the process that we follow when a new term is proposed for the City Data Model:
+
== Getting started ==
 +
Want to contribute? Log-in or request an account!
 +
Anyone with an account can comment on proposed or existing terms, and even propose their own.
  
<uml>
+
Define a [[:Category:Use_Case|use case]], define a [[:Category:Pattern|pattern]], propose new [[:Category:Class|classes]], [[:Category:ObjectProperty|object properties]], or [[:Category:DataProperty|data properties]].
@startuml
 
title Proposing a New Term for the CDM
 
  
start
+
'''Note:''' The following descriptions focus on the meaning of the different types of terms in the context of the OWL, RDF and UML languages. While there are strong similarities between the term types, there are differences in the expressive abilities of the referenced languages. As a result, it will not always be possible to completely translate a term definition from one language to another.
:Specify the name of the new class or property;
+
* A '''Use Case''' describes a scenario where city data is used to meet the needs of various system actors. In doing so it identifies the relevant information, and the classes and properties needed to define that information. In this sense, the use cases defined here are a specialized, more detailed version of use cases as they are defined in UML. See the [https://github.com/w3c/tocc/blob/master/management/Framework.md CDMRA Framework] document for full details on the elements involved in the specification of a use case.
 +
* A '''Pattern''' is a collection of classes and properties that are used to describe a topic of interest; it provides a description of how the terms are related to one another in the context of that topic.
 +
* A '''Class''' is a term that is used to describe some grouping of things. Classes may be related to other classes via a notion of  inheritance (subclass).
 +
**OWL: Classes correspond to Classes as defined in OWL2. <q>In general classes are used to group individuals that have something in common in order to refer to them. Hence, classes essentially represent sets of individuals. In modelling, classes are often used to denote the set of objects comprised by a concept of human thinking, like the concept person or the concept woman.</q> --[https://www.w3.org/TR/owl2-primer/#Classes.2C_Properties.2C_and_Individuals_.E2.80.93_And_Basic_Modeling_With_Them| Owl2 Primer]
 +
**RDF: Classes are similar to the [https://www.w3.org/TR/rdf-schema/| RDF Schema] classes that are used to group [https://www.w3.org/TR/rdf-schema/#ch_resource| resources]. Distinct from RDF, we do not consider other Classes or Properties to be members of a Class.
 +
**UML: Classes correspond to UML Classes, i.e. classes in the object-oriented programming sense. Classes are objects in a system that have some predefined set of attributes and behaviour. They may also be represented with UML Class diagrams.
 +
* An '''ObjectProperty''' is a term that is used to describe the relationship between instances.
 +
**OWL: Object Properties correspond to Object Properties in [https://www.w3.org/TR/owl2-primer/#Object_Properties| OWL2].
 +
**RDF: Object Properties correspond to a restricted set of RDF Properties that only relate instances that are members of some Class(es) of things (i.e. they do not relate instances of Classes to [https://www.w3.org/TR/rdf-schema/#ch_literal| literal values]).
 +
**UML: Object Properties correspond to the instance-level relationships (uni-directional associations) that are identified in UML Class diagrams.
 +
* A '''DataProperty''' is a term that is used to describe the relationship between an instance and some data value.
 +
**OWL: Data Properties correspond to Data Properties defined in [https://www.w3.org/TR/owl2-primer/#Datatypes| OWL2].
 +
**RDF: Data Properties correspond to a restricted set of RDF Properties that relates instances of some Class of thing to a [https://www.w3.org/TR/rdf-schema/#ch_literal| literal value], (e.g. some string or integer).
 +
**UML: Data Properties correspond to the attributes of some Class.
  
:Provide a natural language description of new term;
+
== How it works ==
 
+
The content of the CDM is use case-driven. Any terms added must be used by a use case. Beyond this, different approaches to adding content may be taken: the key patterns could be identified first, followed by a specification of the involved classes and properties. Alternatively, the required classes and properties may be defined first, and then referenced by Pattern specifications that illustrate how they are used together. To add content to the CDM:
:New term page created
+
# Specify a [[:Category:Use_Case|use case]], including the identification of necessary terms.
Term status="Proposed";
+
# Specify the definition of the necessary terms ([[:Category:Class|classes]], [[:Category:ObjectProperty|object properties]], or [[:Category:DataProperty|data properties]]), as possible. If no definition is currently available, a term may still be left in the use case as a placeholder to indicate the need for a term.
 
+
# Create one or more [[:Category:Pattern|patterns]] to illustrate how the defined terms relate to one-another.
:Community review;
+
Steps 2 and 3 may be done in any order.
 
 
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>
 
  
<b>Note:</b> these diagrams were drawn using [http://plantuml.com 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.
+
Use cases and term definitions will be subject to editorial review and feedback by the editorial board to ensure compliance with the [https://github.com/w3c/tocc/blob/master/management/Framework.md CDMRA framework]. As the content on the matures, the editorial board will begin the process of extracting and formalizing the [[Minimum viable definition|minimum viable definitions]] from related terms. These definitions will form the content of the CDM. The formalized relationship between the definitions and the community-added content will specify the relationship between any two related terms.  
  
== To Do ==
+
For details on the information required to specify content, please see the [https://github.com/w3c/tocc/blob/master/management/Framework.mdfull CDMRA framework specification].
Link to Github<br>
 
Link to publications (reports, papers, ...)<br>
 
Add summary of classes / class definitions for each city-level ontology<br>
 
Set permissions for different user types
 

Latest revision as of 19:03, 13 December 2022

Welcome to the City Data Model Collaboration Wiki

Introduction

This website is intended to foster international collaboration between stakeholders and related standards groups on a common City Data Model. The results of this effort will be informed by and feed into the various city data standards development projects being undertaken by various Standards Development Organizations.

A common data model enables city software applications to share information, plan, coordinate, and execute city tasks, and support decision making within and across city services, by providing a precise, unambiguous representation of information and knowledge commonly shared across city services. This requires a clear understanding of the terms used in defining the data, as well as how they relate to one another. Beyond syntactic integration (e.g. common data types and protocols), this requires semantic integration: a consistent, shared understanding of the meaning of information.

The City Data Model is stratified into three levels of abstraction (pictured below). The Foundation Level covers very general concepts such as Time, Location, and Activity. The City Level covers concepts that are general to cities and span all services such as Households, Services, Residents. The Service Level spans concepts commonly associated with a particular service but still shared with other services, such as Vehicles and Transportation network.

The three levels of the city data model: foundational concepts, city-level concepts, and service-level concepts.

The big picture

The goal of the Collaboratory is to bring together related definitions from various perspectives (including but not necessarily limited to existing standard specifications), for terms relevant for the city domain from various perspectives in order to to develop a global consensus regarding the classes, properties, and definitions that should be included in a City Data Model. This website will serve as a means of establishing this consensus through open communication and collaboration. It facilitates the sharing of definitions, suggestions, comments, and critiques. These activities will be guided by a City Data Model Reference Architecture (CDMRA) and will enable the identification of formal relationships between definitions, with the goal of eventually identifying a minimum viable definition for each term. This definition will be formulated such that the relationship with any more specific terms will be clearly identifiable and understandable.

The aim of the CDM is not to specify a single, monolithic city data standard, but rather to identify and define the core set of terms necessary to serve as the bridge between existing standards and applications operating in the city context.

Beta Disclaimer

Please note that this is a beta version of the City Data Model Collaboratory website. The website is still undergoing testing and evaluation. Should you encounter any bugs, glitches, or other problems on the website, please let us know immediately and we will address any issues as soon as possible. Your help in this regard is greatly appreciated.

Getting started

Want to contribute? Log-in or request an account! Anyone with an account can comment on proposed or existing terms, and even propose their own.

Define a use case, define a pattern, propose new classes, object properties, or data properties.

Note: The following descriptions focus on the meaning of the different types of terms in the context of the OWL, RDF and UML languages. While there are strong similarities between the term types, there are differences in the expressive abilities of the referenced languages. As a result, it will not always be possible to completely translate a term definition from one language to another.

  • A Use Case describes a scenario where city data is used to meet the needs of various system actors. In doing so it identifies the relevant information, and the classes and properties needed to define that information. In this sense, the use cases defined here are a specialized, more detailed version of use cases as they are defined in UML. See the CDMRA Framework document for full details on the elements involved in the specification of a use case.
  • A Pattern is a collection of classes and properties that are used to describe a topic of interest; it provides a description of how the terms are related to one another in the context of that topic.
  • A Class is a term that is used to describe some grouping of things. Classes may be related to other classes via a notion of inheritance (subclass).
    • OWL: Classes correspond to Classes as defined in OWL2. In general classes are used to group individuals that have something in common in order to refer to them. Hence, classes essentially represent sets of individuals. In modelling, classes are often used to denote the set of objects comprised by a concept of human thinking, like the concept person or the concept woman. --Owl2 Primer
    • RDF: Classes are similar to the RDF Schema classes that are used to group resources. Distinct from RDF, we do not consider other Classes or Properties to be members of a Class.
    • UML: Classes correspond to UML Classes, i.e. classes in the object-oriented programming sense. Classes are objects in a system that have some predefined set of attributes and behaviour. They may also be represented with UML Class diagrams.
  • An ObjectProperty is a term that is used to describe the relationship between instances.
    • OWL: Object Properties correspond to Object Properties in OWL2.
    • RDF: Object Properties correspond to a restricted set of RDF Properties that only relate instances that are members of some Class(es) of things (i.e. they do not relate instances of Classes to literal values).
    • UML: Object Properties correspond to the instance-level relationships (uni-directional associations) that are identified in UML Class diagrams.
  • A DataProperty is a term that is used to describe the relationship between an instance and some data value.
    • OWL: Data Properties correspond to Data Properties defined in OWL2.
    • RDF: Data Properties correspond to a restricted set of RDF Properties that relates instances of some Class of thing to a literal value, (e.g. some string or integer).
    • UML: Data Properties correspond to the attributes of some Class.

How it works

The content of the CDM is use case-driven. Any terms added must be used by a use case. Beyond this, different approaches to adding content may be taken: the key patterns could be identified first, followed by a specification of the involved classes and properties. Alternatively, the required classes and properties may be defined first, and then referenced by Pattern specifications that illustrate how they are used together. To add content to the CDM:

  1. Specify a use case, including the identification of necessary terms.
  2. Specify the definition of the necessary terms (classes, object properties, or data properties), as possible. If no definition is currently available, a term may still be left in the use case as a placeholder to indicate the need for a term.
  3. Create one or more patterns to illustrate how the defined terms relate to one-another.

Steps 2 and 3 may be done in any order.

Use cases and term definitions will be subject to editorial review and feedback by the editorial board to ensure compliance with the CDMRA framework. As the content on the matures, the editorial board will begin the process of extracting and formalizing the minimum viable definitions from related terms. These definitions will form the content of the CDM. The formalized relationship between the definitions and the community-added content will specify the relationship between any two related terms.

For details on the information required to specify content, please see the CDMRA framework specification.