Heuristics

Heuristics — Utility heuristic functions.

Synopsis

char *              librdf_heuristic_gen_name           (const char *name);
int                 librdf_heuristic_is_blank_node      (const char *node);
const char *        librdf_heuristic_get_blank_node     (const char *node);
int                 librdf_heuristic_object_is_literal  (const char *object);

Description

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

Details

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

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.

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

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.

object :

string object to guess type

Returns :

non 0 if object is probably a literal