def _turtle_to_ntriples(self, data):
     # Turtle syntax is not supported by allegro graph
     # HACK workaround using redland
     import RDF
     model = RDF.Model()
     parser = RDF.TurtleParser()
     try:
         parser.parse_string_into_model(model, data.read(), '-')
     except RDF.RedlandError, err:
         raise TripleStoreError(err)
    def _parse(self, file, format, base_uri=None):            
        if format == 'turtle':
            parser = RDF.TurtleParser()
        else:
            parser = RDF.Parser(format)

        if isinstance(base_uri, unicode):
            base_uri = base_uri.encode('utf8')
        data = file.read()
        file.close()
        try:
            stream = parser.parse_string_as_stream(data, base_uri)
        except RDF.RedlandError, err:
            raise TripleStoreError(err)
示例#3
0
def get_parser(url, format=None):
    if format is None:
        format = get_format(url)

    if format == 'ttl':
        parser = RDF.TurtleParser()
    elif format == 'nt' or format == 'n3':  # FIXME: this probably won't do for n3
        parser = RDF.NTriplesParser()
    elif format == 'nq':
        parser = RDF.Parser(name='nquads')
    elif format == 'rdf':
        parser = RDF.Parser(name="rdfxml")
    elif format == 'sparql':
        return None
    elif format == 'sitemap':
        return None
    else:
        raise NameError("unsupported format")
    return parser
示例#4
0
    if opt in ("-i", "--input"):
        inputUri = "file:" + arg
    elif opt in ("-o", "--output"):
        outputUri = arg
    elif opt in ("-h", "--help"):
        help()
        sys.exit(0)

if (inputUri == None):
    sys.stderr.write("\nNo input file given.\n")
    help()
    sys.exit(1)

sys.stderr.write("Input: " + inputUri + "\n")

ttlParser = RDF.TurtleParser()
inStream = ttlParser.parse_as_stream(inputUri)
namespaces = ttlParser.namespaces_seen()

ntrSerializer = RDF.NTriplesSerializer()

string = ntrSerializer.serialize_stream_to_string(inStream)

bnode = re.compile(r'_(:[r0-9]+)')
string = re.sub(bnode, r'bnode\1', string)

string = "@prefix " + bnodePrefix + ": <" + bnodeNamespace + "> .\n" + string

outStream = ttlParser.parse_string_as_stream(string, inputUri)

ttlSerializer = RDF.Serializer(name="turtle")