## Heuristics Heuristics — Utility heuristic functions. |

## Functions

char * | librdf_heuristic_gen_name ()
int | librdf_heuristic_is_blank_node ()
const char * | librdf_heuristic_get_blank_node ()
int | librdf_heuristic_object_is_literal ()

## Description

Various utility functions for performing heuristics such as generating a name, guessing if a string is a URI or RDF literal.

## Functions

### librdf_heuristic_gen_name ()

    char *
    librdf_heuristic_gen_name (const char *name);

Generate a new name from an existing name.

Adds an integer or increases the integer at the end of the name in order to generate a new one

#### Parameters

name | the name |

#### Returns

a new name or NULL on failure

### librdf_heuristic_is_blank_node ()

    int
    librdf_heuristic_is_blank_node (const char *node);

Try to guess if an node string is a blank node identifier.

The guessing is done by assuming the object is a blank node if it matches ^_: like N-Triples, N3 and related.

#### Parameters

node | string object to guess type |

#### Returns

non 0 if node is probably a blank node identifier

### librdf_heuristic_get_blank_node ()

    const char *
    librdf_heuristic_get_blank_node (const char *node);

Get a blank node identifier from a node string.

Picks the blank node identifier out of a string. Looks for things like _:ABC

#### Parameters

node | string object to guess type |

#### Returns

the blank node identifer string or NULL if the node does not seem to be a blank node identifier

### librdf_heuristic_object_is_literal ()

    int
    librdf_heuristic_object_is_literal (const char *object);

Try to guess if an object string is a literal or a resource.

The guessing is done by assuming the object is a URL if it matches ^[`isalnum()`]+:[^`isblank()`]+$

This will be fooled by literals of form 'thing:non-blank-thing' but is good enough.

#### Parameters

object | string object to guess type |

#### Returns

non 0 if object is probably a literal

## Types and Values