How about an it-depends answer?
You can use links to type nodes. For example, if you want to model that a person has a CS degree and that CS degree is type of BS degree which in turn is type of undergraduate degree, and you want to be able to reference that as part of your queries, then use links to types to indicate node type.
If you do not want to model a type hierarchy in the graph, then:
If your use case is to start a query with all entities of a certain type, and you do not have property indexes, then you could traverse from a known starting point to a "types" node to the "specific type" node and from there to all nodes of that type. If you have property indexes you could also put a type property on each node and use the index to look up the nodes of a desired type.
If the use case is filtering nodes by type mid-query, then using properties makes for a cleaner filter step. An alternative to both options is to use unique relationship labels for each source type / target type pair. For example, if a person "has" friends and a person "has" stuff you can save the node-type filter by changing your model to person "has friend" friend and person "owns" stuff.
If all the above doesn't help, I'd suggest thinking about how you want to query your model and go with whatever seems to fit your problem more naturally.