Join the conversations to shape a safer, more efficient, and sustainable industrial future!
Recently active
The below is reflecting current thinking from the App Dev Journey team in Cognite and is a mental model that will likely develop over time as this topic mature.A data model enables users to customize the shape and structure their expectation of data. It plays a crucial part in building solutions (like data science models, mobile and web apps). It is also the core of an ontology, knowledge graphs, or industry standard.There are some crucial reasons why data models are effective for the industrial space. Data modeling enables explicit language, flexible customization, governed iteration, and enhanced accessibility towards data. Let's dive further into each of these qualities of data modeling. Data Model is ExplicitA data model needs to be explicit because it provides a clear contract/interface between data providers and consumers. Hence, those loading the data and using the data can both understand the underlying data and use it correctly. By having explicit data modeling, a shared cont
This presentation gives a quick introduction to Cognite as a company and our core product, Cognite Data Fusion. Get introduced to how our products turn industrial data into customer value by liberating it, contextualizing it, and making it actionable for users.
I was thinking around the idea of adding the bindings and mappings into the Solution Data Model as directives to have more simpler syntax and UX. The idea is to “hide” the data model storage syntax and bindings syntax so everything can be merged into Solution Data Model GraphQL SDL.For example if we have following Solution data model type Person @view { firstName: string lastName: string}The following DMS should be automatically created Data model storage-----PersonTablefirstName: stringlastName: string However, if I want to make some overrides, I can use the additional directives. For example: type Activity @view @bind(filter: { hasData: { "in": "Risk" } }) { position: string @bind("dms.Table2.position") action: string line: Asset @bind("dms.Asset") equipment: Asset}In this case, in DMS, the Activity data model can be created automatically as well as the bindings and mappings to the related tables.Thoughts?
Hey, Currently, it’s hard to maintain a coherent versioned datamodel in CDF. With Templates, and further developments there, this becomes easier.Even with a versioned datamodel it seems to me that there still isn’t a good way to track changes in the model that are not version-breaking.In our datamodel we have two types of changes that we would like to track in a structured way: Field value updates, as simple as a metadata field and as complex as the unit-multiplier on a TimeSeries changing. Edge field value updates. Our model is an adption of a RDF representation of a Common Information Model in the Common Grid Model Exchange Specification for Norway. A field on an object can imply an edge in the datamodel, and this field can change. Currently this is solvable with Labels and Start/End time on Relationships today, though it isn’t obvious that we would want to introduce an Edge type to Templates?This question is a part of the larger struggle of maintaining a sane structure on a time-
Hi! I’m Dilini Fernando from Cognite! This is my first post, and I am super excited to share a how to guide on Cognite’s DB extractor. This post is targeted to folks who have not used the DB extractor before and wish to extract data from popular tabular databases like MySQL, Oracle, and PostgreSQL databases and ingest it to CDF.The post contains three major steps. The first two focus on setting up a database and ODBC driver, and the third step focuses on running the Cognite DB extractor. You could skip steps that are not required for you. For example, if you already have a database setup, you could skip the first step. Step 1: Setting up a databaseDownload Micorosoft SQL Server Express Edition 2019Install the server Note: Remember the password. You need to enter the password when you are login to SQL Server Install SQL Server Management Studio. Connect SQL Server Management with SQL server 2019. Open SQL Server Management and select the Authentication as SQL Server Authentication.
Hello everyone,I was curious if anyone has leveraged Cognite AIR (Automated Identification and Reporting) in a way where alerts could be triggered off of other alerts? If so, how has this been done?I’d like for this to be a core feature of AIR where you can build a workflow from a visual canvas (similar to the charts function builder) and say “If this alert is triggered, check if this other alert has been triggered also” and so on. This would allow for setting up “offline conditions” so we don’t see all anomaly alerts or threshold alerts unless we can confirm the equipment is running, or even automate root cause investigations. Currently if I build an alert, I’m getting too many “false positives” of sorts that I’d like to filter out. Any input is welcome. Thank you,Richard Maidla (Hess Corporation)
Hello!We have a new version of the new documentation around Templates out live on our Documentation portal!https://docs.cognite.com/dev/concepts/resource_types/templates/Here we provide a full guide on how to go from modeling the data to querying the data. As well, we provide much more detailed specifications on what is doable via the UI and also the SDKs.Please provide feedback on what else you would like to see documented and if you run into any issues with the code samples / guides!
As an application developer, a very common interface to build is filtering user interfaces. There are a few types of aggregation that would be very useful to us! #1 Unique value aggregationIn order to allow for effective filtering, aggregating a field by all its unique values is vital for this, to enable showing the user all possible options for a certain filter.Generally the amount of results can be limited to perhaps 1000, but having this paginate (or a higher number of 10000) would be even better! This also allows us in many cases to avoid needing expensive ‘substring queries’ on fields, as doing this in the front end on several thousand strings is trivial. Not all fields needs this, so if its required to add a `@aggregatable` decorator, then this is fine!In addition to this, having the amount of each of these values would be useful, to allow us to sort by the most commonly occurring fields.This is by far the highest priority for our use case! #2 Count aggregationSecond most importa
Congratulations to #PGS @Cerys James @Sverre Olsen, selected as one of the 11 winners of the Verdantix Innovation Excellence Awards!PGS won the Safety Performance Improvement award for an incident management tool that uses artificial intelligence to identify trends, automate alerts, and proactively prevent incidents.PGS is using Industrial DataOps software, including Cognite Data Fusion®, to take a more proactive approach to HSEQ incident management. PGS worked together with Cognite to ingest observations from the reporting system into the data platform and sort observations into larger categories.Learn more here: https://hubs.ly/Q016VkD00
The @searchable field is a great addition! Fundamental for certainThe final point to make it usable for us will be to allow the user to select what searchable field they want to be able to filter on. e.g. given the schematype Equipment { name: String @searchable @filterable description: String @searchable @filterable} Its very common that the user will know that they want to search on specifically name or description.
We are working on some new features in Charts, and would love to show and talk to some of you about it. If you have 30 minutes next week to help us make the best tool possible, please write me at emmy.reehorst@cognite.com Emmy, designer in the Charts team
Hello! We have worked on a new prototype experience with Templates. Data model editorWe have heard feedback on the current editor UI and the lack of parity with the actual possibilities of the Data Modeling via Code. For example, there is no ability to add List, references to other custom declared types. This is all resolved via the new data model UI prototype. Data Model VisualizationAnother common request is to visualize the data model as a "graph" or "relationships". We have created a new visualizer to show the data model as nodes with relationships to other types. Note this does not show the data within the data model (yet) and we would love to hear if you would like this feature. Here is a Loom video to the prototype showing both features.What's next? We would love to hear if you would like to try out these features, given enough requests we may add this back to the Templates UI. Alternatively, we can also grant you access to a test CDF project you can use to try these features.
Hi I'm Knut, I’m Product Management Lead working on Cognite Data Fusion. I had the pleasure of meeting some of you in our Product Release Spotlight webinar this Monday. Here's the recording if you missed it.We'd love to hear your thoughts!
Release v0.19 of ChartsHello everyone,The team and I are happy to announce that a new version of Charts (charts.cogniteapp.com) has been released! In place of a live webinar, I’ll be posting videos soon to provide both a walkthrough of these new features and some concrete examples of use cases they help to solve. In the meantime, enjoy reading the release notes and, as always, please leave your feedback or questions in the comments below. Release DetailsFilters are now available in the search panel We’ve released some important and frequently asked for filtering capabilities in the + Add time series search panel. Everyone who uses Charts is always interested in and looking for time series. Equipment tags (assets) that do not have any time series directly related to them are now automatically filtered out of the results list, providing you with more relevant and useful results. You can always show the “empty” equipment tags, if you’d like via the new filters dropdown. Empty equ
Can machines think? Hello Community! As this is my first post, I would like to introduce myself. I'm Shailja, my team and I work on Cognite Learn where you can find Cognite's e-learning courses and live virtual training sessions. Cognite allows me to continue my passion for cinematography and editing, and I genuinely love what I do. Today, I’d like to introduce you to our digital upskilling offering. With the help of our learning paths and bite-sized courses, you can learn about technologies that enable digital transformation. One of the topics you can explore is artificial intelligence (AI). Understanding how AI works in our daily lives would benefit all of you.The buzz around artificial intelligence began in 1950, followed by deep learning. Until the late 1970s, it was a part of AI’s evolution. Then, it branched off to evolve on its own.Artificial Intelligence (AI) allows machines to learn from their mistakes, adapt to new inputs, and execute tasks like humans. From chess-playing co
Issue:When we install Cognite python SDK if you are observing an error warning as below,WARNING: Discarding https://files.pythonhosted.org/packages/25/50/0466d5d83e1859c5ca38351ee932d64cc5635f9d4dad522879e58f4b0018/Fiona-1.8.2.tar.gz#sha256=4c6419b7ac29136708029f6a44b4ccd458735a4d241016c7b1bab41685c08d8f (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.Downloading Fiona-1.8.1.tar.gz (1.1 MB)|████████████████████████████████| 1.1 MB 3.2 MB/sERROR: Command errored out with exit status 1:command: 'c:\users\mithila\appdata\local\programs\python\python39\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\mithila\AppData\Local\Temp\pip-install-3ru45mbx\fiona_e5daa4b655dd467bb03096ab64aa19ae\setup.py'"'"'; file='"'"'C:\\Users\mithila\AppData\Local\Temp\pip-install-3ru45mbx\fiona_e5daa4b655dd467bb03096ab64aa19ae\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', op
Yesterday, we hosted our first Digital Services and Sales Forum for our manufacturing customers who are building new applications on top of CDF. The goal of this forum is to create a space for our customers to learn from each other on key topics relevant to building and launching digital services and software. The focus for this forum was pricing where we heard from @mortenhuse from Properate and Rune Larsen of Accenture, but in the future we’ll cover other areas such as recruiting, product positioning, onboarding, customer success, etc. Thanks to all who attended! The presentations we shared are attached. If you weren’t able to attend, but would like to in the future, please contact your Customer Success Director. Hope to see you at the next event!All attendees of our first Manufacturing Digital Services and Sales ForumMorten Huse and Morten Hveding Juel presenting their Properate solution, built on CDF
If you’re at CERAWeek this week, we hope you’d like to stop by and say hello us! Look out for some of our leaders @John Markus Lervik, @Paula Doyle, and @Francois Laborie in the CERAWeek Executive Conference and Agora sessions, and come find us at the @Cognite and @Aker Horizons house at Innovation Agora.
Hey! In accordance with how you’re thinking about flexible-datamodels. Has Cognite done any exploration around flexible time-series modelling? Akin to what you’re doing with charts, a fleet of sensors might be viewed as having the same transformational needs as an Asset does. At Statett, we have “views” of data (typically some linear combination of time-series). We persist these with synthetic time-series as an intermediary, then upload to a new TimeSeries. Unfortunately, the data is not immune to updates or backfills. So these computed TimeSeries either have to have a pretty severe lag, or we have to re-compute at an alarming rate, wasting compute. These computed time-series are further used in computations that we would like persisted. Do you envision expanding Charts to cover this functionality? I.e. having the configuration as code, with Stream logic for re-computes etc.? Or, do you have no plans for Managed Data Transformations? Thanks for your response :)
Feel free to join this session on 9 March at 7-8pm CET by Inna Zrajaeva about ocean data in situated experiences. Get ideas about how complicated ideas and concepts can be explained in a direct environment and situation. Inna is writing her master thesis together with UiT Norges arktiske universitet and HUB Ocean 🐳https://www.eventbrite.com.au/e/ocean-data-and-situated-experiences-tickets-289415408277#oceandataplatform
We are happy to announce a new CLI tool for managing your Template Data Models. This should help you in developing an application, and we hope to also make this tool useful for data science workflows as well.Here’s the link to the public documentation for the CLIhttps://www.npmjs.com/package/@cognite/cdf-cliInstallation instructionsTo install, make sure you have Node (at least v14) installedand then runnpm install --global @cognite/cdf-clioryarn global add @cognite/cdf-cli Key features:This CLI is meant to be an additional tooling that allows you to do everything the UI can.1. Logging in/out through the CLI for users and machines (Users for local workflow, Machines for CI/CD)Logging in as a user - Loom demo, docs Logging in as a machine - Loom demo, docs2. Managing Templates via CLI - docsCreating, deleting and listing templates3. Development Workflow via CLI - docsInitializing workspace Code generation Please comment and add any request or comments around features below or as a new t
While many manufacturers have successfully fostered lighthouse sites, very few have been able to replicate this success across their other production sites.The purpose of these lighthouse sites are to act as the guiding model for other production sites, providing a wave of innovation to address use cases that will increase productivity, improve quality, reduce energy and water consumption, and much more. The problem is that lighthouse facilities on average only account for 10-15% of production volume, and manufacturers are struggling to replicate this success to the significantly outstanding 85-90% of their production.Read in our latest blog why aren’t lighthouses scaling. And how to ensure that your lighthouse success can be carried forward to other production sites. Did this article cause some reflections? We’d love to hear from you and your experiences.
Hi there,I was wondering how one would go about representing a CDF Client credential as a connection string.The main idea is to have a single string representing the credentials needed to connect to CDF. The connection string itself should be unwrapped by whatever client it is passed to (Python SDK, JS SDK, etc), and should of course not be sent as part of the request to the API.For tenants using API-keys, something like this may make sense:cdf://CLIENT_NAME:API_KEY@api.cognitedata.com/PROJECT_NAMEHowever, using tokens instead of api-keys is a bit trickier:cdf://TOKEN_USERNAME:TOKEN_SECRET@api.cognitedata.com/PROJECT_NAME?token_url=TOKEN_URL&token_scopes=TOKEN_SCOPESNaturally, it is possible to but anything in the URL parameters, but generalizing the username, password and path-properties would be great.Some challenges that come to mind:How to differentiate between different authentication methods (i.e. api-keys and tokens Is it possible the keep a consistent scheme regardless of a
Hi Community,We are excited to announce that we have made some changes to our documentation portal! We have migrated to a new content management system. This will allow for improved search and internationalization.This is the first step to revamping the documentation portal to allow for quick access to relevant content as well as a introducing a dedicated developer portal with guides and an overview of all available libraries.As part of this, you might see some small changes to where information is located. If you have any feedback or feature requests, please let us know. BROmar
Hello Charts Early Adopters,On December 7th, 2021, we released a new and improved version of the no-code calculation builder (see image below). You can read more in this release post or watch the webinar recording. Ever since this release, all new calculations have been created using this new implementation of the no-code calculation builder.The “new” no-code calculation builder.We will release new features on Monday, February 28th and, as a result, we will no longer be supporting the old version of the no-code calculation builder. Therefore, if you have a calculation in any chart that was created using the “old” calculation builder (see image below), you must recreate it using the new version to avoid losing your work. The “old” no-code calculation builder; calculations using this old calculation builder will no longer be supported from Monday, February 28.If you have not used Charts before December 7th, 2021, or, you have no need for the calculations you created using the old no-code