"VirtSpongerCartridgeRDFExtractor" . "2017-06-13T05:44:39Z" . . . . . . . . . . "2017-06-13T05:44:39.007788"^^ . . "VirtSpongerCartridgeRDFExtractor" . "2017-06-13T05:44:39.007788"^^ . . "2017-06-13T05:44:39Z" . . "VirtSpongerCartridgeRDFExtractor" . . "a81f5ee4da434de6c46b296f5eec9894" . . . . "%VOSNAV%\n%META:TOPICPARENT{name=\"VirtSponger\"}%\n\n---++Sponger Cartridge RDF Extractor\n\nUsed to extract RDF from a Web Data Source. It consumes services from Virtuoso PL, C/C++, Java-based, and other RDF Extractors.\n\nRDF mappers provide a way to extract metadata from non-RDF documents such as HTML pages, images, Office documents, \netc., and pass this to the SPARQL sponger (crawler which retrieves missing source graphs). For brevity further in this article, \nwe will refer to the \"RDF mapper\" simply as the \"mapper\".\n\n---++RDF Mappers Concept\n\nRDF mappers consist of PL procedure (hook) and extractor, where extractor itself can be built using PL, C or any external language \nsupported by Virtuoso server. See the [[VirtProgrammerGuideRDFCartridge][Sponger Cartridge RDF Extractor PL Requirements]] for \nmore information.\n\nOnce the mapper is developed, it must be plugged into the SPARQL engine by adding a record to the table \nDB.DBA.SYS_RDF_MAPPERS.\n\n\nIf a SPARQL query instructs the SPARQL processor to retrieve a target graph into local storage, then the SPARQL sponger will \nbe invoked. If the target graph IRI represents a dereferenceable URL, then content will be retrieved using content negotiation. \nThe next step is to detect the content type:\n\n * If RDF and no further transformation (such as GRDDL) is needed, then the process would stop. \n * If 'text/plain' and not known to have metadata, then the SPARQL sponger will look in the \nDB.DBA.SYS_RDF_MAPPERS table by order of RM_ID \nand for every matching URL or MIME type pattern (depends on column RM_TYPE) will \ncall the mapper hook. \n * If hook returns zero, the next mapper will be tried;\n * If result is negative, the process would stop instructing the SPARQL nothing was retrieved;\n * If result is positive, the process would stop instructing the SPARQL that metadata was retrieved. \n\n---++References\n\n * [[RDFMappers][RDF Mappers]]\n * [[SPARQLSponger][Virtuoso SPARQLSponger]]\n * [[VirtProgrammerGuideRDFCartridge][RDF Cartridge Programmer Guide]]\n * [[VirtSpongerCartridgeSupportedDataSources][OpenLink-supplied Virtuoso Sponger Cartridges]]\n\n\nCategoryVirtuoso CategorySpec CategoryDocumentation CategoryODS CategoryRDF\n\n%VOSCOPY%" . . . . . . .