Skip to content

Commit 7f75eeb

Browse files
committed
Do not repeat identical blank nodes as subject.
Fixes #360
1 parent 075e606 commit 7f75eeb

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/N3Writer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ const escape = /["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,
1919
class SerializedTerm extends Term {
2020
// Pretty-printed nodes are not equal to any other node
2121
// (e.g., [] does not equal [])
22-
equals() {
23-
return false;
22+
equals(other) {
23+
return other === this;
2424
}
2525
}
2626

test/N3Writer-test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,18 @@ describe('Writer', () => {
402402
});
403403
});
404404

405+
it('should serialize triples with the same blank node as object', done => {
406+
const writer = new Writer();
407+
const blank = writer.blank();
408+
writer.addQuad(blank, new NamedNode('a'), new NamedNode('b'));
409+
writer.addQuad(blank, new NamedNode('c'), new NamedNode('d'));
410+
writer.end((error, output) => {
411+
output.should.equal('[] <a> <b>;\n' +
412+
' <c> <d>.\n');
413+
done(error);
414+
});
415+
});
416+
405417
it('should serialize triples with a one-triple blank node as object', done => {
406418
const writer = new Writer();
407419
writer.addQuad(new NamedNode('a1'), new NamedNode('b'), writer.blank(new NamedNode('d'), new NamedNode('e')));

0 commit comments

Comments
 (0)