Skip to main content

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 IndexSKG IndexDescription
phub_c2_0_entitygw_prod_fullContains the data of the production system.
phub_devc2_0_entitygw_dev_fullContains the data of the development system.
phub_fg_0_entitygw_prod_fullCustomer 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:

NamespaceDescription
schemaContains fields related to schema.org types and properties.
venusContains fields related to tourism, events, and other specific data types.
bayerncloudContains 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 NameDescription
types_webNot needed anymore
content_targetNot needed anymore
tourinfraElevationProfileNot needed anymore
classificationDtvAllNot needed anymore
additionalInfoKompassNot needed anymore
kompassFeatureCollectionNot needed anymore
RemoteIDReplaced by remoteIdentifiers
source_dataReplaced by remoteIdentifiers
project_identifierReplaced by project
changeDateReplaced by updatedAt
creationDateReplaced by createdAt
MD_publicReplaced 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.

OldNew Pseudo-Field
coordspseudo:coords
features_allpseudo:features_all
qualityLabels_allpseudo:qualityLabels_all
timelinepseudo:timeline
timelineMetaDatapseudo:timelineMeta
classificationMaxpseudo: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

OldNew
10venus:unclassified
20venus:one_star
40venus:two_star
60venus:three_star
80venus:four_star
100venus:five_star

venus:classificationDehoga

OldNew
10venus:unclassified
20venus:one_star
30venus:one_star_superior
40venus:two_star
50venus:two_star_superior
60venus:three_star
70venus:three_star_superior
80venus:four_star
90venus:four_star_superior
100venus:five_star

Classifications 'Bauernhof Südtirol': venus:classificationBauernhofSuedtirol

OldNew
1flowervenus:one_flower
2flowersvenus:three_flowers
3flowersvenus:three_flowers
4flowersvenus:four_flowers
5flowersvenus:five_flowers

Classifications 'Privatvermieter Südtirol': venus:classificationPrivatvermieterSuedtirol

OldNew
1sunvenus:one_sun
2sunsvenus:two_suns
3sunsvenus:three_suns
4sunsvenus:four_suns
5sunsvenus:five_suns

Resistance (Obstsorten)

venus:mildewSusceptibility, venus:fireBlightSusceptibility, venus:scabSusceptibility

OldNew
10venus:without_to_very_little
20venus:low
30venus:average
40venus:strong
50venus:very_strong

Difficulty

venus:difficultyDescent, venus:difficultyAscent, venus:stamina, venus:difficulty, venus:drivingTechnique

OldNew
10venus:very_easy
20venus:easy
30venus:moderate
40venus:difficult
50venus:very_difficult
venus:slopeDifficulty
OldNew
20venus:easy
40venus:difficult

Panoramic view values

venus:panoramicView

OldNew
10venus:very_low
20venus:low
30venus:moderate
40venus:high
50venus:very_high

Open Data licences

OldNew
BAY-CLOUD-TOURISMUSbayerncloud:BAY-CLOUD-TOURISMUS

General Enumerations

OldNew
Abdomenvenus:abdomen
Bringdienstvenus:bring_service
brueckenradwegvenus:bridge_cycle_path
Erlebnisgastronomievenus:experience_gastronomy
eventbookedupvenus:booked_out
eventcancelledvenus:cancelled
eventmovedonlinevenus:postponed_to_online_event
eventpostponedvenus:postponed
eventrescheduledvenus:rescheduled
eventscheduledvenus: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

FieldOldNew
urlTextMulti Lang Text
validFromDateDateTime
validThroughDateDateTime
creatorTextEntity
hoursAvailableEntityTable
sameAsMulti Lang TextTable