I was hoping to avoid making two threads this week, but, oh well. :)

This question applies to the SDN 3.0.1 release.

I understand the switch to label-based indices and that @Indexed invokes 
just that.  For legacy indices, indexType should be set to SIMPLE (or 
FULLTEXT) with an optional indexName.

So, I think I might be missing something in my understanding of how SDN has 
utilized label-based indices, or something with respect to how SDN uses 
Neo4jTemplate, and am looking for some clarification.

I have a POJO annotated thusly:

@NodeEntity
public class Platform {
@GraphId
private Long nodeId;
 @Indexed
private String platformId;
...

Now, in some other code elsewhere, I'm having a Neo4jTemplate instance 
perform a ".lookup(...) like so:

Platform platform = template.lookup(Platform.class, "platformId", 
platformId).to(Platform.class).singleOrNull();

platformId holds a legal value ("1", in fact).

I get an exception thrown in IndexProvider (specifically in 
IndexProviderImpl) in "getIndex" like so:

        if (providedIndexName==null || 
providedIndexName.equals(defaultIndexName)) {
            throw new IllegalStateException("Index name for "+property+" 
must differ from the default name: "+defaultIndexName);
        }


Now, providedIndexName *is* null since none was annotated in the POJO.  The 
defaultIndexName is, unsurprisingly, "Platform".  In fact, the "property" 
parameter into the method has the value "class java.lang.String platformId 
rel: false idx: true" and the instanceType parameter is "class 
com.proj.vonneumanns.entities.Platform".  Seems about right.

So, should I be using the .lookup(...) method?  Or am I misunderstanding 
with respect to how I should be annotating my POJO above?  I do not want to 
use the legacy indices, so I don't want to specify indexName or indexType, 
and based on what I've seen so far from the blogs and updates, the POJO is 
annotated correctly for the latest SDN (i.e. 3.0.1).

Is it possible to have several indexed attributes in a POJO that all use 
the new label-based indices (i.e. none of them would use the legacy 
indices)?

I've checked the following links for possible solutions but don't think 
they're quite the same issue/matter:

http://stackoverflow.com/questions/22111928/index-name-for-class-java-lang-string-name-rel-false-idx-true-must-differ-from
https://jira.spring.io/browse/DATAGRAPH-437
http://stackoverflow.com/questions/22022691/sdn-neo4j-3-0-release-index-strategy/22084251#22084251

...and the respective related links.

Any insight to help clarify would be greatly appreciated.  Everything else 
seems to be going decently so far in my diving into SDN 3.0.1 and several 
other items I've explored work as expected.

Thanks in advance!

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to