Serialization js,如何将数据序列化为turtle(.ttl)格式?

Serialization js,如何将数据序列化为turtle(.ttl)格式?,serialization,rdf,semantic-web,linked-data,turtle-rdf,Serialization,Rdf,Semantic Web,Linked Data,Turtle Rdf,如何使用rdflib.js序列化turtle中的RDF?没有太多的文档。我可以使用: Serializer.statementsToN3(destination); 将其序列化为N3格式,但除此之外没有其他功能。我尝试将前面提到的命令改为statementsToTtl/Turtle/Turtle/TTL,但似乎没有任何效果。找到了答案。承蒙 这是前面提到的Github要点中的代码 /** * rdflib.js with node.js -- basic RDF API example. *

如何使用rdflib.js序列化turtle中的RDF?没有太多的文档。我可以使用:

Serializer.statementsToN3(destination);

将其序列化为N3格式,但除此之外没有其他功能。我尝试将前面提到的命令改为statementsToTtl/Turtle/Turtle/TTL,但似乎没有任何效果。

找到了答案。承蒙

这是前面提到的Github要点中的代码

/**
* rdflib.js with node.js -- basic RDF API example.
* @author ckristo
*/

var fs = require('fs');
var $rdf = require('rdflib');

FOAF = $rdf.Namespace('http://xmlns.com/foaf/0.1/');
XSD  = $rdf.Namespace('http://www.w3.org/2001/XMLSchema#');

// - create an empty store
var kb = new $rdf.IndexedFormula();

// - load RDF file
fs.readFile('foaf.rdf', function (err, data) {
if (err) { /* error handling */ }

// NOTE: to get rdflib.js' RDF/XML parser to work with node.js,
// see https://github.com/linkeddata/rdflib.js/issues/47

// - parse RDF/XML file
$rdf.parse(data.toString(), kb, 'foaf.rdf', 'application/rdf+xml', function(err, kb) {
    if (err) { /* error handling */ }

    var me = kb.sym('http://kindl.io/christoph/foaf.rdf#me');

    // - add new properties
    kb.add(me, FOAF('mbox'), kb.sym('mailto:e0828633@student.tuwien.ac.at'));
    kb.add(me, FOAF('nick'), 'ckristo');

    // - alter existing statement
    kb.removeMany(me, FOAF('age'));
    kb.add(me, FOAF('age'), kb.literal(25, null, XSD('integer')));

    // - find some existing statements and iterate over them
    var statements = kb.statementsMatching(me, FOAF('mbox'));
    statements.forEach(function(statement) {
        console.log(statement.object.uri);
    });

    // - delete some statements
    kb.removeMany(me, FOAF('mbox'));

    // - print modified RDF document
    $rdf.serialize(undefined, kb, undefined, 'application/rdf+xml', function(err, str) {
        console.log(str);
    });
});
});

实际上,大多数写为“N3”的库实际上都以turtle(N3的一个子集)为目标。若你们使用语句ston3,你们可能在实践中得到了海龟。你们能把它的要点公之于众吗?因为它是秘密,所以您似乎必须拥有一个github帐户才能访问它。更好的办法是在你的答案中插入密码。
/**
* rdflib.js with node.js -- basic RDF API example.
* @author ckristo
*/

var fs = require('fs');
var $rdf = require('rdflib');

FOAF = $rdf.Namespace('http://xmlns.com/foaf/0.1/');
XSD  = $rdf.Namespace('http://www.w3.org/2001/XMLSchema#');

// - create an empty store
var kb = new $rdf.IndexedFormula();

// - load RDF file
fs.readFile('foaf.rdf', function (err, data) {
if (err) { /* error handling */ }

// NOTE: to get rdflib.js' RDF/XML parser to work with node.js,
// see https://github.com/linkeddata/rdflib.js/issues/47

// - parse RDF/XML file
$rdf.parse(data.toString(), kb, 'foaf.rdf', 'application/rdf+xml', function(err, kb) {
    if (err) { /* error handling */ }

    var me = kb.sym('http://kindl.io/christoph/foaf.rdf#me');

    // - add new properties
    kb.add(me, FOAF('mbox'), kb.sym('mailto:e0828633@student.tuwien.ac.at'));
    kb.add(me, FOAF('nick'), 'ckristo');

    // - alter existing statement
    kb.removeMany(me, FOAF('age'));
    kb.add(me, FOAF('age'), kb.literal(25, null, XSD('integer')));

    // - find some existing statements and iterate over them
    var statements = kb.statementsMatching(me, FOAF('mbox'));
    statements.forEach(function(statement) {
        console.log(statement.object.uri);
    });

    // - delete some statements
    kb.removeMany(me, FOAF('mbox'));

    // - print modified RDF document
    $rdf.serialize(undefined, kb, undefined, 'application/rdf+xml', function(err, str) {
        console.log(str);
    });
});
});