Predicate Naming Restrictions

I’m pretty new to dgraph, and getting my feet wet with dgo after having gone through the first few parts of the tutorial.

I have been starting my program by running an Alter to drop everything, and install a schema I have defined as a multiline string. It seems like there are some predicate names that dgraph doesn’t like - unfortunately I don’t get any errors on the Alter request to install the schema, but once I view the available predicates in ratel, a subset of predicates just aren’t there.

Through trial and error, I’ve managed to get some of them to show up, but without a discernable pattern. At first I thought maybe numbers weren’t allowed, as v4addresses wasn’t showing up, yet vfouraddresses was. Yet recently I tried again with v4routes but also vfourroutes, and neither worked. I had to change to routes and suddenly the predicate showed.

I know that one potential cause of this might be incorrectly tagging my structs with JSON fields, but I double checked and I was doing that correctly.

The predicate name rules seem to indicate that any alphanumeric combination is acceptable, but this doesn’t match the behavior I’m seeing. Any tips for something I’m missing? The best option would be a way to get dgraph to let me know what I’m doing wrong, instead of silently dropping what it views as invalid predicate names? I imagine I’d be more self-sufficient if I can get that working.

Welcome, @mierdin! It odd that Alter succeeds without telling you—typically it returns an error if it could not apply the schema change. v3routes and vfourroutes are definitely valid predicate names. A schema like this is valid:

v4routes: string .
vfourroutes: string .

If you could share your schema string we can take a look and point out any potential issues.

You can also apply your schema changes by pasting your raw schema string in Ratel by clicking on Bulk Edit in the Schema tab.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.