Join the discussions about products powered by Cognite Data Fusion. Click the + CREATE TOPIC button in the menu bar to start the conversation.
Recently active
We have a DM with many direct relations. A processing is directly liked to an asset with the name of the property being ‘equipment’. list shows the field as either just text or a dictionaryWe use the Cognite data modeling API to generate models and use pygen to run programs on it. I have noticed something strange while using pygen. Properties which are direct relations to other types sometimes are shown as text and other times are shown as NodeId objects.On close inspection, they appear as NodeId objectsIn the former case, while observing them in the Data Model view, the properties appear empty. Actually, they contain the external_id of the instance as a string which can be seen while querying with pygen. DM view showing seemingly empty cells Sometimes, instances spontaneously transition from one type to the ohter (NodeId → string or vice versa). In my pygen programs thus, I have to use the following function to keep the program running. from cognite.client.data_classes.data_modeling
In Cognite Data Fusion data models, instances (nodes and edges) are uniquely identified by their space and external ID.To simplify the user experience, Pygen includes a parameter called default_instance_space. You can set this parameter when generating a new SDK, allowing you to work with nodes and edges without specifying their space, as long as all nodes and edges share the same instance space.In earlier versions, if you didn’t specify the default_instance_space, Pygen would default to using the same space as the data model. Now, Pygen generates an SDK that requires users to specify the space when creating, retrieving, and deleting nodes and edges.The reason for this change is that having the schema (data model, views, containers) and data (nodes and edges) in the same space is considered an anti-pattern. Governance of a data model should be in a separate space, while data ingestion and consumption should occur in different spaces, typically one space per data source.
Hello Everyone! Exciting news! We're hosting Impact 2024, Cognite’s first User Conference, and we want YOUR use cases to shine. You can read more about Impact 2024 here. Why Share your Use Case?Your stories inspire. Share how your projects have driven real business impact, from boosting revenue to streamlining processes. We also welcome discussions on challenges you've faced and unresolved issues. This can spark meaningful conversations and potential solutions during the event.How to Get Involved:Submit your use case in this thread including it's impact. Based on the submissions, we will organize workshops to explore these use cases further. If your use case is selected, you will receive a free ticket to Impact 2024. We are committed to fostering a collaborative environment while respecting confidentiality and competition concerns, ensuring we all become better together. Mark Your Calendars:Submissions Open: April 25, 2024Submission Deadline: June 30, 2024Winners Announced: August 1, 2
Hi,From what I can tell from the documentation and what I can see from the datapoints we have in CDF the datapoints seem to be using milliseconds. My question is if CDF is currently able to handle microsecond timestamps or if this is functionality that would require additional development and whether or not this is on the current roadmap. Markus Pettersen
pygen version v0.99.30has just been released with a new approach to creating queries. This is experimental and we are looking for feedback. Check the documentation for more information.
Hello Everyone 😊, I'm now working on an endeavour that will integrate our organization's multiple old systems with Cognite Data Fusion (CDF). Although there are numerous advantages to CDF's current architecture, there are certain obstacles we must overcome in order to guarantee smooth data transfer between CDF & our more antiquated systems—especially those that weren't created with contemporary data platform in mind.I would appreciate your thoughts on the following specific queries and worries:Data Connectivity: How can CDF and older technologies that use antiquated communication formats or protocols create and sustain reliable connections with one other?🤔 Have anyone of you run across problems with particular kinds of systems?🤔 If so, tell us about it.Data Consistency and Quality: When importing data into CDF from older systems, how can you maintain and guarantee data consistency?🤔 Exist any particular Cognite ecosystem tools or procedures that support preserving data accuracy
Hi There,We would like to confirm if the indexing mechanism in the CDF operates in the same manner as it does in a relational database. Specifically, we need to understand the trade-offs of using indexes carefully in CDF. In relational databases, indexes occupy space on disk and memory when in use, which can be problematic if space or memory is limited. Additionally, maintaining indexes during data insertions, updates, or deletions can slow down these operations and lock tables (or parts of tables), potentially affecting query performance.Given these considerations, do we need to manage indexes in CDF with the same level of caution as in relational databases?Disadvantages of having an index in a relational database:Space: Requires additional disk/memory space. Write speed: Slows down INSERT, UPDATE, and DELETE operations.
Hi:In a cognite video I saw that they talked about image and video contextualization, where CDF can recognize and identify patterns in images, is this possible?.I would be very interested in offering this service to my clients.
Pygen will now create fields for reverse direct relations in the generated data classes. In addition, with the generated `.list` method you can retrieve the nodes on the other side of the reverse direct relations by calling it with the parameter `retrieve_connections=”full”`. See the documentation for more details an examples https://cognite-pygen.readthedocs-hosted.com/en/latest/usage/listing_filtering_retrieving.html
I have observed that there is a limitation on search within the pdf documents beyond 100 pages. Earlier the limit was mere 50 pages. We have a commercial project where most of the document are 100 plus pages and I would like to check if this is a product limitation or something else.We would like to be able to search across the entire document without any limit.
The Assets / Timeseries filter field in Charts shows blank with “recently viewed” list. How to get the full list?Is there any wild card character to show the full list like a * or something ?Also the timeseries filter seems to only work when the filter field has more than 3 characters specified. Is that the expected behaviour?
Hi,We use CDF workflow to process the data present in data model. Based on the inputs, we trigger multiple workflow instances to take the advantage of scalability. We observed that, the workflow execution time is increasing after we trigger more workflow instances. Here is the simple diagram to show how we use workflow: For example:If we run 1 workflow instance to process 20 wellbores (assume some processing logic divided between F1 to F4) with 20 concurrent tasks, the execution time of that workflow instance is 5 mins. Now if we want to process more wellbores say 40, we trigger 2 workflow instances , 1st workflow instance to process 20 wellbores and 2nd workflow instance to process other 20 wellbores and we expect the execution time for all workflows to be approximately same but the total time is increasing if we compare with only 1 workflow instance with 20 tasks. Can you please help me to understand if anything is missing?
I am trying to install some python packages that do not appear to have a wheel which turns into a problem because , as far as I know, pyodide is not able to install packages without a wheel. Here is an example of an error I am receiving - “Can't find a pure Python 3 wheel for 'psutil==5.9.5'.”-How can I address this issue in Jupyter Notebook and streamlit? Is there a workaround? Is there a way to use a different kernel instead of pyodide?I am not facing this issue with CDF functions. How does CDF functions environment differ from Jupyter Notebook and streamlit?
Hello, all!This is my first post after just joining this discussion, so please forgive me and provide kind assistance if I have posted to the wrong subsection! I am new here but a real enthusiast and loving this community so far. I have a background in teaching coding and in education and feel I could help with documentation, at least for starters.As a new member in this forum and wish to share and gain some knowledge. I am looking forward to create my own discussion to resolve my query and gain some knowledge though I have taken part in various discussion which is definitely helped me a lot.Also in what category should be taken depends on what factors?🤔Thank you 😊 in advance.
Hello, I’m using Postman v11.6.0 (the client desktop as well as the lightweight app). I’m to follow instruction of the course “Introduction to API v1 using Postman”. When doing the “import Postman collection”, I’m getting a “failed to import Cognite collection API” with no more detail about what is failing.I have also tried to wdownload the swagger locally, then import it into Postman, but same error.Could you help me please ?
I have to learn this technology and want to know working of CDF so that I can understand how this technology work for a Manufacturing Execution system (MES) ? How to develop and test this technology for MES?
How can I see the default canvas option in my portal?I have seen this visible option in other users.
A use case we encounter at Cognite is writing data back to SAP. This can happen in several contexts where the main goal is to create or update data in SAP (ex: work orders, notifications etc.) based on the analysis of data stored in Cognite Data Fusion. The ability to write back to SAP allows to take decisions without going back and forth between applications, which can save a lot of time. It is also less error prone than manually filling fields in SAP based on what you read in Cognite Data Fusion. This use case, which is all about automating processes, definitely fits Industry 4.0. In addition to that, SAP is one of the most used ERP systems in the industry. As a side note: we are talking today about SAP, but the same would be possible with other ERPs (as long as they have an API we can send requests to). For example, in a maintenance context: when analyzing data of your industrial machinery, you might notice that one of your machines needs maintenance. Instead of going to SAP, looki
Hello everyone:I have a problem starting the DBExtractor service, it gives me the following error:Services: Event Viewer windows: but the folder and file if it exists: my operating system (it was also tested on windows server 2012 giving the same error):
Our dev environment (slb-wcdf-dev) has the following limits setContainers 1,000Views 10,000We are getting close to the limit of containers. Can we get the limit on containers set to 10,000 also.
Would like to see if there are examples of use cases that merge subsurface and surface data to solve a specific operations challenge that has been deploy via CDF?
Hello everyone,I'm encountering an issue while working with Data model and SQL Transformation. I have a data model where I use a composite type to represent measurements. Here's a detailed description of my situation and the problem I'm facing.ContextI want to model a type Metrics that includes two attributes, temperature and humidity. Each of these attributes is a composite type Measure, containing two sub-attributes: value and unit. Here is what my schema looks like in GraphQL:enum Unit { Celsius Percent}type Measure { value: Float! unit: Unit!}type Metrics { temperature: Measure! humidity: Measure!}ProblemAlthough this model is syntactically correct in GraphQL, I am having difficulties loading this model using Cognite Data Fusion's SQL transformation. I haven't found a way to cast the unit and value fields into a Struct of type Measure.Attempted SQL TransformationI've tried several approaches to write the SQL transformation, but I can't seem to get the correct format. Here is
Hi!I have a question about how a redeployment of a Cognite Function works. Lets say we have the following scenario:A python backend fetches data from CDF in a pre-defined time window, cleans, and transforms it. Then calculates KPI timeseries. A deployed Cognite Function runs the backend on a schedule every 10 minutes. The calculated KPI time series is appended to an existing Time Series object in CDF. I.e., the Time Series is updated with KPIs for the last 10 minutes every 10 minutes. A frontend reads data from the regularly updated Time Series in CDF and visualizes it in various ways.This workflow goes on normally for quite some time, until we have developed new functionality in our backend. We want to redeploy the Cognite Function with the new functionality. What happens now? Do we have to delete the old function before creating the new one? This may lead to downtime if the deployment for some reason takes so long that we move into the next time window for the the data fetch. Our Tim
There seems to be a bug in Fusion when it comes to rounding up numbers.The shortened numbers in the below examples should not have a + at the end, since that would implicit a higher number than 137K, but the actual number is lower than 137K
Hello team, I was trying to trigger a workflow by passing the workflow input tasks and setting the onFailure to skipTask, as I did not want my workflow to be aborted if some task fails.Despite of triggering the workflow by sdk and passing the workflow input.,I can see that the workflow has been trigerred but with onFailure to be abortWorkflowCould you please help me with solving this. code for triggering workflow:workflow_input = { "tasks": [ { "externalId": "gb-test-func-1", "type": "function", "name": "1710479974441", "parameters": { "function": { "externalId": "gb-test-func-1", "data": {} } }, "onFailure": "skipTask", "dependsOn": [] }, { "externalId": "gb-test-func-2", "type": "function", "name": "1710482066717", "parameters": { "function": { "externalId": "gb-test-func-2", "data": {} } }, "onFailure": "skipTask", "dependsOn": [ { "externalId": "gb-multiplication-by-2" }