# Schema Updating

**URL:** <https://discuss.dgraph.io/t/schema-updating/12985>\
**Category:** Ratel\
**Tags:** kind:question\
**Created:** [February 26, 2021, 5:31pm UTC](https://discuss.dgraph.io/t/schema-updating/12985 "2021-02-26T17:31:07Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![verneleem](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/verneleem/32/5801_2.png) [@verneleem](https://discuss.dgraph.io/u/verneleem)\
**Post date:** [February 26, 2021, 8:12pm UTC](https://discuss.dgraph.io/t/schema-updating/12985/5 "2021-02-26T20:12:03Z")

</div>

Welcome to the Community @ITM007!

I am going to try to translate what you are asking into a logical question that I can answer.

So you have thousands of nodes without types. Some of these nodes are Employers and some of them are Employees. The Employers have a predicate of `employee` and the Employees have a predicate of `employer`

This would look something like this datawise:

```auto
  <0x1> <employee> <0x2> .
  <0x2> <employer> <0x1> .
  <0x3> <employee> <0x4> .
  <0x4> <employer> <0x3> .

```

`0x1` and `0x3` would be your Employers and `0x2` and `0x4` would be your Employees

Let me know if this is on track. If so, I will continue to answer the question and show how you can use upserts to do this progmatically.

* * *

If that isn’t right, then I am thinking you might have a confusion between types, predicates, and edges.

- Types: [Overview - Dgraph](https://dgraph.io/docs/query-language/type-system/)
- Predicate: A property of a data node in a graph database; also a discrete piece of information available to request in a graph database.
- Edge: A relationship between two data nodes in a graph database.

Understanding how data is stored as Triples might help as well: [Overview - Dgraph](https://dgraph.io/docs/mutations/triples/)

If you could post what data you are working with so far, any schema you have posted, and what results you want, we may be able to answer this question better.

If you are new to Dgraph and want a tutorial to follow using DQL then I would recommend: [Overview - Dgraph](https://dgraph.io/docs/tutorial-1/)

> [@MichelDiz](#):
>
> Dgraph has two languages. DQL(native one) and GraphQL(an automated API)

This can cause some confusion at first and if you are struggling to get started figuring this out, then let me point you to:

> [@New to Dgraph? DQL vs. GraphQL, Endpoints, Headers, and Schema Translation](http://discuss.hypermode.com/t/new-to-dgraph-dql-vs-graphql-endpoints-headers-and-schema-translation/10443):
>
> I would like to better understand the relationship between the DQL schemas and the GraphQL schemas This statement and a multitude of related questions (see References) have prompted me to write this to help new users. I remember when I started on the Dgraph road. Why were there so many endpoints? Which one should I use when? What is graphql±? (Meaning to me “GraphQL more or less.” [Now it is commonly called DQL to avoid confusion and easier to say/write](http://discuss.hypermode.com/t/poll-rename-graphql/9010)) Should I write my schema in GraphQL or …

---

_[View the full topic](https://discuss.dgraph.io/t/schema-updating/12985)._
