private void serializeAssociations( final EntityState entityState, final Graph graph, URI entityUri, final Iterable<? extends AssociationDescriptor> associations, final boolean includeNonQueryable ) { ValueFactory values = graph.getValueFactory(); // Associations for( AssociationDescriptor associationType : associations ) { if( !( includeNonQueryable || associationType.queryable() ) ) { continue; // Skip non-queryable } EntityReference associatedId = entityState.associationValueOf( associationType.qualifiedName() ); if( associatedId != null ) { URI assocURI = values.createURI( associationType.qualifiedName().toURI() ); URI assocEntityURI = values.createURI( associatedId.toURI() ); graph.add( entityUri, assocURI, assocEntityURI ); } } }
private void serializeManyAssociations( final EntityState entityState, final Graph graph, final URI entityUri, final Iterable<? extends AssociationDescriptor> associations, final boolean includeNonQueryable ) { ValueFactory values = graph.getValueFactory(); // Many-Associations for( AssociationDescriptor associationType : associations ) { if( !( includeNonQueryable || associationType.queryable() ) ) { continue; // Skip non-queryable } BNode collection = values.createBNode(); graph.add( entityUri, values.createURI( associationType.qualifiedName().toURI() ), collection ); graph.add( collection, Rdfs.TYPE, Rdfs.SEQ ); ManyAssociationState associatedIds = entityState.manyAssociationValueOf( associationType.qualifiedName() ); for( EntityReference associatedId : associatedIds ) { URI assocEntityURI = values.createURI( associatedId.toURI() ); graph.add( collection, Rdfs.LIST_ITEM, assocEntityURI ); } } } }