# 4.2.3 Classes and Properties

The foundational knowledge outlined in the [theoretical framework](https://krke24.gitbook.io/krke-project-2023-2024/2.-theoretical-framework) guided us in identifying the primary entities that need to be represented as classes and properties in the ontology. This foundational understanding is crucial as it informs the scope and granularity of the ontology. The ontology designer starts by defining the main classes, which encapsulate the core concepts of the domain. Each class is meticulously defined to ensure clarity and relevance. Subsequently, the designer identifies object properties to represent the relationships between these classes, and data properties to capture specific attributes of the classes.

The designer ensures that each class and property is clearly defined and logically structured to enable accurate representation and reasoning. This involves creating precise definitions, expressions and constraints for properties, establishing hierarchies and relationships among classes, and ensuring consistency across the ontology. The resulting ontology serves as a robust, structured framework that facilitates knowledge sharing, integration, and interoperability within the domain.

## Classes

* `YouthSubculture`\
  A group of people within a cultural society that represents a specific community formed by younger generations, characterized by distinct values, practices, and identities that differentiate them from the dominant culture.
* `People`

  The class has two sub-expressions:

  * **`Participant`**: People who participate in at least one youth subculture.&#x20;
  * **`NotParticipant`**: People who do not participate in any youth subculture.

  While in reality, affiliation with a youth subculture exists on a spectrum with varying degrees of involvement, dividing individuals into the two discrete classes of `Participant` and `NotParticipant` was necessary for knowledge representation (KR) and modeling purposes.
* `Style`\
  Represents the overall style associated with a subculture, which can be further divided into (Cfr. [Theoretical Framework](https://krke24.gitbook.io/krke-project-2023-2024/2.-theoretical-framework)):
  * `MusicGenre`\
    Represents the type of music associated with a subculture.
  * `FashionStyle`\
    Represents the fashion, style of clothing and aesthetics associated with a subculture.
  * `Ritual`\
    Represents the activities that usually characterize a specific subculture.
* `MoralValue`\
  Represents the fundamental principles and beliefs that underpin a subculture, guiding the behavior, attitudes, and norms of its members.
* `Location`\
  This class defines the geographic context or physical setting where a subculture originates, encompassing specific regions, cities, or areas integral to its identity and activities. In the context of our project, "location" primarily refers to the geographical place (such as a city or state) where youth subcultures historically emerged. This meaning could be broadened to include more nuanced relationships, highlighting areas where these subcultures actively thrive or are predominantly practiced.
* `HistoricalPeriod`\
  Represents the time frame (time-span) during which a subculture emerged, developed, or experienced significant influences.

## Properties

* **participatesIn (Participant -> YouthSubculture):** Links a person to a youth subculture (indicating that the person belongs to that subculture).
  * **hasParticipant (YouthSubculture -> Participant):** Links a subculture to its members.
* **locatedIn (YouthSubculture -> Location):** Links individuals and subcultures to geographic locations.
* **hasFashionStyle (YouthSubculture -> FashionStyle):** Links a subculture to its fashion style(s).
* **hasMusicGenre (YouthSubculture -> MusicGenre):** Links a subculture to its associated music genre(s).
* **hasRitual (YouthSubculture -> Ritual):** Links a subculture to the activities that usually characterize a specific youth subculture.
* **hasMoralValue (YouthSubculture -> MoralValue):** Links a subculture to its core values, principles and beliefs.
* **originatedIn (YouthSubculture -> HistoricalPeriod):** Connects the youth subculture to its historical period, representing the time frame during which they have developed or undergone significant changes.
* <mark style="color:green;">**hasContent**</mark>**&#x20;( -> rdfs:Literal)**
* <mark style="color:green;">**hasName**</mark>**&#x20;(People -> rdfs:Literal):** Functional property that indicates the name of a person.
* <mark style="color:green;">**belongsToGeneration**</mark>**&#x20;(People -> rdfs:Literal)**: A functional property that indicates the generation a person belongs to. It has a domain of `People` and a range of literal values.

## Ontology Design Patterns

To enhance the structure of the ontology, we selected two content ODPs from [ontologydesignpatterns.org](http://ontologydesignpatterns.org/wiki/Main_Page) and [Framester](https://framester.github.io/). These ODPs provided us with reusable and well-defined modeling solutions that helped streamline the development of our entities.

* <mark style="background-color:purple;">**Participant/NotParticipant**</mark>**&#x20;->** [**People**](http://etna.istc.cnr.it/framester2/data/framestercore/People)\
  This pattern was applied to model the involvement of people within subcultures, distinguishing between participants and non-participants.
* <mark style="background-color:purple;">**HistoricalPeriod**</mark>**&#x20;->** [**Time Interval Pattern**](http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#TimeInterval)

  This pattern was applied to model the time periods associated with subcultures, indicating their origin and significant time frames.
