|
| 1 | +DESCRIPTION > |
| 2 | + - `mentions` contains community mentions from various sources tracked via Octolens integration. |
| 3 | + - Raw datasource only exists in Tinybird - pushed directly from Octolens webhook processing. |
| 4 | + - Tracks mentions across platforms like Reddit, HackerNews, Twitter, and other community sources. |
| 5 | + - Includes sentiment analysis and relevance scoring for each mention. |
| 6 | + - `sourceId` is the unique identifier from the source platform. |
| 7 | + - `url` is the direct link to the mention on the source platform. |
| 8 | + - `timestamp` is when the mention occurred on the source platform. |
| 9 | + - `source` indicates the source platform (reddit, hackernews, twitter, etc.) using LowCardinality. |
| 10 | + - `author` is the username/display name of the person who created the mention. |
| 11 | + - `authorProfileLink` is the URL to the author's profile on the source platform. |
| 12 | + - `title` contains the mention's title or subject line. |
| 13 | + - `body` contains the full text content of the mention. |
| 14 | + - `imageUrl` contains the URL to any associated image (empty string if not available). |
| 15 | + - `relevanceScore` is the computed relevance score from Octolens (string representation). |
| 16 | + - `relevanceComment` contains the explanation for the relevance score. |
| 17 | + - `keyword` is the keyword that triggered this mention match. |
| 18 | + - `sentimentLabel` provides the sentiment classification (positive, negative, neutral, mixed). |
| 19 | + - `subreddit` contains the subreddit name for Reddit mentions (empty string for other sources). |
| 20 | + - `viewId` is the Octolens view identifier that captured this mention. |
| 21 | + - `viewName` is the human-readable name of the Octolens view. |
| 22 | + - `projectSlug` identifies which project this mention belongs to. |
| 23 | + - `createdAt` is the timestamp when the record was created in Tinybird. |
| 24 | + |
| 25 | +TAGS "" Octolens integration", Community", "Sentiment analysis" |
| 26 | + |
| 27 | +SCHEMA > |
| 28 | + `sourceId` String `json:$.sourceId` DEFAULT '', |
| 29 | + `url` String `json:$.url` DEFAULT '', |
| 30 | + `timestamp` DateTime `json:$.timestamp`, |
| 31 | + `source` LowCardinality(String) `json:$.source` DEFAULT '', |
| 32 | + `author` String `json:$.author` DEFAULT '', |
| 33 | + `authorProfileLink` String `json:$.authorProfileLink` DEFAULT '', |
| 34 | + `title` String `json:$.title` DEFAULT '', |
| 35 | + `body` String `json:$.body` DEFAULT '', |
| 36 | + `imageUrl` String `json:$.imageUrl` DEFAULT '', |
| 37 | + `relevanceScore` String `json:$.relevanceScore` DEFAULT '', |
| 38 | + `relevanceComment` String `json:$.relevanceComment` DEFAULT '', |
| 39 | + `keyword` String `json:$.keyword` DEFAULT '', |
| 40 | + `sentimentLabel` LowCardinality(String) `json:$.sentimentLabel` DEFAULT '', |
| 41 | + `subreddit` String `json:$.subreddit` DEFAULT '', |
| 42 | + `viewId` Int64 `json:$.viewId` DEFAULT 0, |
| 43 | + `viewName` String `json:$.viewName` DEFAULT '', |
| 44 | + `language` String `json:$.language` DEFAULT '', |
| 45 | + `projectSlug` LowCardinality(String) `json:$.projectSlug` DEFAULT '', |
| 46 | + `createdAt` DateTime64(3) `json:$.createdAt` DEFAULT now64(3), |
| 47 | + `bookmarked` UInt8 `json:$.bookmarked`, |
| 48 | + `keywords` Array(String) `json:$.keywords[:]` |
| 49 | + |
| 50 | +ENGINE ReplacingMergeTree |
| 51 | +ENGINE_PARTITION_KEY toYear(timestamp) |
| 52 | +ENGINE_SORTING_KEY projectSlug, timestamp, sourceId |
| 53 | +ENGINE_VER createdAt |
0 commit comments