@Override public PropertyValue getDefaultValue() { return PropertyValue.create(0L); } }
@Override public PropertyValue getDefaultValue() { return PropertyValue.create(0L); } }
/** * Creates a new property from the given arguments. Note that the given * value type must be supported by {@link PropertyValue}. * * @param key property key * @param value property value * @return property */ public static Property create(String key, Object value) { return new Property(key, PropertyValue.create(value)); }
/** * Returns a property value that wraps the represented literal * * @param embedding the embedding holding the data * @param metaData meta data describing the embedding * @return property value of literal value */ @Override public PropertyValue evaluate(Embedding embedding, EmbeddingMetaData metaData) { return PropertyValue.create(literal.getValue()); }
/** * Returns a property values that wraps the elements id * * @param embedding the embedding holding the data * @param metaData meta data describing the embedding * @return property value of element id */ @Override public PropertyValue evaluate(Embedding embedding, EmbeddingMetaData metaData) { int column = metaData.getEntryColumn(elementSelector.getVariable()); return PropertyValue.create(embedding.getId(column)); }
@Override public Vertex join(HITS.Result<GradoopId> result, Vertex vertex) throws Exception { vertex.setProperty(authorityPropertyKey, PropertyValue.create(result.getAuthorityScore().getValue())); vertex.setProperty(hubPropertyKey, PropertyValue.create(result.getHubScore().getValue())); return vertex; } }
@Override public PropertyValue evaluate(GraphElement element) { if (propertySelector.getPropertyName().equals("__label__")) { return PropertyValue.create(element.getLabel()); } return element.hasProperty(propertySelector.getPropertyName()) ? element.getPropertyValue (propertySelector.getPropertyName()) : PropertyValue.NULL_VALUE; }
@Test public void testProject() { Embedding embedding = new Embedding(); GradoopId id = GradoopId.get(); embedding.add(id, PropertyValue.create("a"), PropertyValue.create(42), PropertyValue.create("foobar")); Embedding projection = embedding.project(Lists.newArrayList(0, 2)); assertEquals(PropertyValue.create("a"), projection.getProperty(0)); assertEquals(PropertyValue.create("foobar"), projection.getProperty(1)); }
@Test public void testGetShort() throws Exception { PropertyValue p = PropertyValue.create(SHORT_VAL_e); assertEquals(SHORT_VAL_e, p.getShort()); }
@Test public void testGetFloat() throws Exception { PropertyValue p = PropertyValue.create(FLOAT_VAL_4); assertEquals(FLOAT_VAL_4, p.getFloat(), 0); }
@Test public void testGetMap() throws Exception { PropertyValue p = PropertyValue.create(MAP_VAL_9); assertEquals(MAP_VAL_9, p.getMap()); }
@Test public void testGetDate() throws Exception { PropertyValue p = PropertyValue.create(DATE_VAL_b); assertEquals(DATE_VAL_b, p.getDate()); }
@Test public void testMultiColumnReverse() throws Exception { PropertyValue a = PropertyValue.create("Foo"); PropertyValue b = PropertyValue.create(42); Embedding embedding = new Embedding(); embedding.add(GradoopId.get(), a, b); ExtractPropertyJoinColumns udf1 = new ExtractPropertyJoinColumns(Arrays.asList(0, 1)); ExtractPropertyJoinColumns udf2 = new ExtractPropertyJoinColumns(Arrays.asList(1, 0)); Assert.assertNotEquals(udf1.getKey(embedding), udf2.getKey(embedding)); } }
@Test public void testEvaluationReturnsPropertyValue() { Literal literal = new Literal(42); LiteralComparable wrapper = new LiteralComparable(literal); PropertyValue reference = PropertyValue.create(42); assertEquals(reference, wrapper.evaluate(null, null)); assertNotEquals(PropertyValue.create("42"), wrapper.evaluate(null, null)); } }
@Test public void testGetKey() throws Exception { Property property = new Property("key", PropertyValue.create(10)); assertEquals("key", property.getKey()); }
@Test public void testGetValue() throws Exception { PropertyValue propertyValue = PropertyValue.create(10); Property p = new Property("key", propertyValue); assertEquals(propertyValue, p.getValue()); }
@Test public void testEvaluationReturnsPropertyValue() { ElementSelector selector = new ElementSelector("a"); ElementSelectorComparable wrapper = new ElementSelectorComparable(selector); Embedding embedding = new Embedding(); embedding.add(GradoopId.get()); PropertyValue reference = PropertyValue.create(embedding.getId(0)); EmbeddingMetaData metaData = new EmbeddingMetaData(); metaData.setEntryColumn("a", EntryType.VERTEX, 0); assertEquals(reference, wrapper.evaluate(embedding, metaData)); assertNotEquals(PropertyValue.create("42"), wrapper.evaluate(embedding, metaData)); }
@Test public void testVariableMappingCreation() throws Exception { AddGraphElementToNewGraph<Vertex> udf = new AddGraphElementToNewGraph<>(new GraphHeadFactory(), "a"); Vertex vertex = new VertexFactory().createVertex(); Tuple2<Vertex, GraphHead> result = udf.map(vertex); assertTrue(result.f1.hasProperty(PatternMatching.VARIABLE_MAPPING_KEY)); Map<PropertyValue, PropertyValue> variableMapping = result.f1.getPropertyValue(PatternMatching.VARIABLE_MAPPING_KEY).getMap(); assertEquals(vertex.getId(), variableMapping.get(PropertyValue.create("a")).getGradoopId()); } }
@Test(expected = NoSuchElementException.class) public void testThrowErrorIfPropertyIsMissing() { PropertySelector selector = new PropertySelector("a", "age"); PropertySelectorComparable wrapper = new PropertySelectorComparable(selector); Embedding embedding = new Embedding(); embedding.add(GradoopId.get(), PropertyValue.create(1991)); EmbeddingMetaData metaData = new EmbeddingMetaData(); metaData.setEntryColumn("a", EntryType.VERTEX, 0); metaData.setPropertyColumn("a", "birth", 0); wrapper.evaluate(embedding, metaData); }