Ejemplo n.º 1
0
SLV2Values
slv2_query_get_variable_bindings(SLV2World   world,
                                 SLV2Results results,
                                 int         variable)
{
	SLV2Values result = NULL;

    if (!librdf_query_results_finished(results->rdf_results))
		result = slv2_values_new();

	while (!librdf_query_results_finished(results->rdf_results)) {
		librdf_node* node = librdf_query_results_get_binding_value(results->rdf_results, variable);

		if (node == NULL) {
			fprintf(stderr, "SLV2 ERROR: Variable %d bound to NULL.\n", variable);
			librdf_query_results_next(results->rdf_results);
			continue;
		}

		SLV2Value val = slv2_value_from_librdf_node(world, node);
		if (val)
			raptor_sequence_push(result, val);

		librdf_free_node(node);
		librdf_query_results_next(results->rdf_results);
	}

    return result;
}
Ejemplo n.º 2
0
/* private */
SLV2Port
slv2_port_new(SLV2World world, uint32_t index, const char* symbol)
{
	struct _SLV2Port* port = malloc(sizeof(struct _SLV2Port));
	port->index = index;
	port->symbol = slv2_value_new(world, SLV2_VALUE_STRING, symbol);
	port->classes = slv2_values_new();
	//port->node_id = strdup(node_id);
	return port;
}