Breaking changes from KG to SKG
This document is intended for developers and integrators who work with the Social Knowledge Graph (SKG) and need to understand the changes made compared to the previous Knowledge Graph (KG). It provides an overview of the most significant breaking changes, including removed fields, modified data types, and new pseudo fields.
Available Elastic Indexes
The following elastic indexes are available in the SKG:
| KG Index | SKG Index | Description |
|---|---|---|
phub_c2_0_entity | gw_prod_full | Contains the data of the production system. |
phub_devc2_0_entity | gw_dev_full | Contains the data of the development system. |
phub_fg_0_entity | gw_prod_full | Customer specific index. |
Project and Channel IDs
Project and Channels do no longer use human-readable identifier.
Before fichtelgebirge now e.g. b7a8c3f1....
Filtering by channel
It's recommended to use the field channels_web instead of channels for filtering by channel.
Only in some cases the field channels must be used, e.g. when you also want to get channelSpecificContent datasets.
Namespaces
Each entity data field in the SKG is now prefixed with a namespace to avoid conflicts and ensure clarity.
The following namespaces are used:
| Namespace | Description |
|---|---|
schema | Contains fields related to schema.org types and properties. |
venus | Contains fields related to tourism, events, and other specific data types. |
bayerncloud | Contains fields related to the BayernCloud project. |
For more information about our datamodel and the available namespaces, please refer to our datamodel documentation.
Removed Fields
The following fields no longer exist:
| Field Name | Description | |
|---|---|---|
types_web | Not needed anymore | |
content_target | Not needed anymore | |
tourinfraElevationProfile | Not needed anymore | |
classificationDtvAll | Not needed anymore | |
additionalInfoKompass | Not needed anymore | |
kompassFeatureCollection | Not needed anymore | |
RemoteID | Replaced by remoteIdentifiers | |
source_data | Replaced by remoteIdentifiers | |
project_identifier | Replaced by project | |
changeDate | Replaced by updatedAt | |
creationDate | Replaced by createdAt | |
MD_public | Replaced by venus:files |
Files
The old field MD_public has been replaced by the new field venus:files.
Next to the name we also changed the structure of the field.
It's now more structured and allows for better handling of file metadata, URLs, and types.
MD_public:
{
"MD_public" : [
{
"filepath" : "...",
"name" : "42011011.jpg",
"changeDate" : "2023-01-16T15:09:55.956Z",
"fileUsage" : [
"thumbnail"
],
"isPublic" : true,
"media" : {
"metadata" : {
...
},
"publicUrl" : "...",
"_class" : "de.venus.mediacollection.model.media.ImageFileInfo",
"info" : {
"marked" : false,
"archived" : false,
"fileName" : "42011011.jpg",
"deleted" : false,
"uploadDate" : "2022-07-06T09:15:22.324",
"filePath" : "...",
"type" : "IMAGE"
}
},
"thumbUrl" : "...",
"fileType" : "image",
"galleryUrl" : "..."
},
...
]
}
venus:files:
{
"venus:files": [
{
"identifier": "...", // New: Unique identifier for the file
"name" : "42011011.jpg", // Same field name as before
"type": "IMAGE", // Before: fileType
"size": 0, // New: file size in bytes
"metadata": { // Before: media.metadata. Structure is still the same!
...
},
"createdAt": "2022-07-06T09:15:22.324", // New: Upload date
"urls": [
{
"type": "public", // Before: media.publicUrl
"url": "..."
},
{
"type": "thumbnail", // Before: thumbUrl
"url": "..."
},
{
"type": "gallery", // Before: galleryUrl
"url": "..."
}
],
"fileUsage": [ // Same field name and values as before
"thumbnail"
]
},
...
]
}
Pseudo Fields
Some fields in the SKG are now defined as so-called Pseudo Fields. Pseudo Fields describe fields that are not directly stored in the entity but are generated at runtime based on other data.
| Old | New Pseudo-Field |
|---|---|
coords | pseudo:coords |
features_all | pseudo:features_all |
qualityLabels_all | pseudo:qualityLabels_all |
timeline | pseudo:timeline |
timelineMetaData | pseudo:timelineMeta |
classificationMax | pseudo:classificationMax |
ChannelSpecificContent
The field specificChannels has been replaced by channel and is not a string array anymore but a single string.
Example
{
"types": [
"schema:Event"
],
"channels": [
"62272b9df24f424775ea0f8e",
"6225c190f24f424775ea0a1f"
],
"content": {
"schema:name": [
{
"lang": "de-DE",
"value": "Example Event"
}
]
},
"channelSpecificContent": {
"channel": "6225c190f24f424775ea0a1f", // before "specificChannels": ["demo"]`
"content": {
"schema:name": [
{
"lang": "de-DE",
"value": "Example Event (CSC)"
}
]
}
}
}
Converted data field values (Terms)
Classifications
venus:classificationDtv, venus:classificationDtvP, venus:classificationDehogaG, venus:classificationDtvC
| Old | New |
|---|---|
| 10 | venus:unclassified |
| 20 | venus:one_star |
| 40 | venus:two_star |
| 60 | venus:three_star |
| 80 | venus:four_star |
| 100 | venus:five_star |
venus:classificationDehoga
| Old | New |
|---|---|
| 10 | venus:unclassified |
| 20 | venus:one_star |
| 30 | venus:one_star_superior |
| 40 | venus:two_star |
| 50 | venus:two_star_superior |
| 60 | venus:three_star |
| 70 | venus:three_star_superior |
| 80 | venus:four_star |
| 90 | venus:four_star_superior |
| 100 | venus:five_star |
Classifications 'Bauernhof Südtirol': venus:classificationBauernhofSuedtirol
| Old | New |
|---|---|
1flower | venus:one_flower |
2flowers | venus:three_flowers |
3flowers | venus:three_flowers |
4flowers | venus:four_flowers |
5flowers | venus:five_flowers |
Classifications 'Privatvermieter Südtirol': venus:classificationPrivatvermieterSuedtirol
| Old | New |
|---|---|
1sun | venus:one_sun |
2suns | venus:two_suns |
3suns | venus:three_suns |
4suns | venus:four_suns |
5suns | venus:five_suns |
Resistance (Obstsorten)
venus:mildewSusceptibility, venus:fireBlightSusceptibility, venus:scabSusceptibility
| Old | New |
|---|---|
| 10 | venus:without_to_very_little |
| 20 | venus:low |
| 30 | venus:average |
| 40 | venus:strong |
| 50 | venus:very_strong |
Difficulty
venus:difficultyDescent, venus:difficultyAscent, venus:stamina, venus:difficulty, venus:drivingTechnique
| Old | New |
|---|---|
| 10 | venus:very_easy |
| 20 | venus:easy |
| 30 | venus:moderate |
| 40 | venus:difficult |
| 50 | venus:very_difficult |
venus:slopeDifficulty
| Old | New |
|---|---|
| 20 | venus:easy |
| 40 | venus:difficult |
Panoramic view values
venus:panoramicView
| Old | New |
|---|---|
| 10 | venus:very_low |
| 20 | venus:low |
| 30 | venus:moderate |
| 40 | venus:high |
| 50 | venus:very_high |
Open Data licences
| Old | New |
|---|---|
BAY-CLOUD-TOURISMUS | bayerncloud:BAY-CLOUD-TOURISMUS |
General Enumerations
| Old | New |
|---|---|
Abdomen | venus:abdomen |
Bringdienst | venus:bring_service |
brueckenradweg | venus:bridge_cycle_path |
Erlebnisgastronomie | venus:experience_gastronomy |
eventbookedup | venus:booked_out |
eventcancelled | venus:cancelled |
eventmovedonline | venus:postponed_to_online_event |
eventpostponed | venus:postponed |
eventrescheduled | venus:rescheduled |
eventscheduled | venus:scheduled |
Deleted terms
The following terms have been completely removed: 120, 140, 160, 180, 200, 220, 240, 250, 260, 270, 280, 290, 300
Fields with a changed data type
| Field | Old | New |
|---|---|---|
url | Text | Multi Lang Text |
validFrom | Date | DateTime |
validThrough | Date | DateTime |
creator | Text | Entity |
hoursAvailable | Entity | Table |
sameAs | Multi Lang Text | Table |