34 std::istringstream XML;
37 return Parser.
parse(XML);
44 mpParser = raptor_new_parser(
"rdfxml");
62 stream.imbue(std::locale::classic());
69 char * pBuffer =
new char[BUFFER_SIZE + 1];
71 stream.get(pBuffer, BUFFER_SIZE, 0);
73 if (stream.gcount() != 0)
75 raptor_uri * pURI = raptor_new_uri((
unsigned char *)
"#");
77 if (raptor_start_parse(
mpParser, pURI))
86 if (stream.eof()) done =
true;
88 if (stream.fail() && !done)
92 (
unsigned char *) pBuffer,
100 stream.get(pBuffer, BUFFER_SIZE, 0);
125 std::string Predicate;
129 switch (pTriple->subject_type)
131 case RAPTOR_IDENTIFIER_TYPE_RESOURCE:
133 Subject.
setResource((
char *) raptor_uri_as_string((raptor_uri *) pTriple->subject),
137 case RAPTOR_IDENTIFIER_TYPE_ANONYMOUS:
146 switch (pTriple->predicate_type)
148 case RAPTOR_IDENTIFIER_TYPE_RESOURCE:
149 Predicate = (
char *) raptor_uri_as_string((raptor_uri *) pTriple->predicate);
156 switch (pTriple->object_type)
158 case RAPTOR_IDENTIFIER_TYPE_ORDINAL:
159 case RAPTOR_IDENTIFIER_TYPE_RESOURCE:
161 Object.
setResource((
char *) raptor_uri_as_string((raptor_uri *) pTriple->object),
165 case RAPTOR_IDENTIFIER_TYPE_ANONYMOUS:
170 case RAPTOR_IDENTIFIER_TYPE_LITERAL:
173 if (pTriple->object_literal_datatype != NULL)
176 Literal.
setDataType((
const char *) raptor_uri_as_string(pTriple->object_literal_datatype));
182 if (pTriple->object_literal_language != NULL)
183 Literal.
setLanguage((
const char *) pTriple->object_literal_language);
195 static_cast<CRDFGraph *
>(pGraph)->addTriplet(Subject, Predicate, Object);
201 const unsigned char * pURI =
202 raptor_uri_as_string(raptor_namespace_get_uri(pNameSpace));
205 if (pURI) URI = (
const char *) pURI;
207 const unsigned char * pPrefix =
208 raptor_namespace_get_prefix(pNameSpace);
209 std::string Prefix(
"");
211 if (pPrefix) Prefix = (
const char *) pPrefix;
213 static_cast<CRDFGraph *
>(pGraph)->addNameSpace(Prefix, URI);
219 unsigned char * existingNodeId)
223 if (existingNodeId != NULL)
224 NodeId =
static_cast<CRDFGraph *
>(pGraph)->generatedNodeId((
char *) existingNodeId).c_str();
226 NodeId =
static_cast<CRDFGraph *
>(pGraph)->generatedNodeId().c_str();
228 return (
unsigned char *) strdup(NodeId.c_str());
235 raptor_locator_line(pLocator),
236 raptor_locator_column(pLocator),
244 raptor_locator_line(pLocator),
245 raptor_locator_column(pLocator),
253 raptor_locator_line(pLocator),
254 raptor_locator_column(pLocator),
void setLanguage(const std::string &language)
static void TripleHandler(void *pGraph, const raptor_statement *pTriple)
static void NameSpaceHandler(void *pGraph, raptor_namespace *pNameSpace)
void setLiteral(const CRDFLiteral &literal)
static void ErrorHandler(void *, raptor_locator *pLocator, const char *message)
static void WarningHandler(void *, raptor_locator *pLocator, const char *message)
CRDFGraph * parse(std::istream &stream)
void setDataType(const std::string &dataType)
void setBlankNodeId(const std::string &blankNodeId)
bool guessGraphRoot(const std::string &about=" ")
void setType(const eObjectType &type)
void setResource(const std::string &resource, const bool &isLocal)
void setType(const eLiteralType &type)
void setLexicalData(const std::string &lexicalData)
static bool isLocalURI(raptor_uri *pURI)
void setResource(const std::string &resource, const bool &isLocal)
static void FatalErrorHandler(void *, raptor_locator *pLocator, const char *message)
void setBlankNodeId(const std::string &blankNodeId)
void setType(const eSubjectType &type)
static CRDFGraph * graphFromXml(const std::string &xml)
#define pRaptorFreeUri(p)
static unsigned char * GenerateIdHandler(void *pGraph, raptor_genid_type type, unsigned char *userNodeId)