UNPKG

deep-taxonomy-benchmark

Version:

Generate the Deep Taxonomy Benchmark for testing RDF Reasoners

31 lines (30 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TARGET_RESULT = void 0; exports.generateDeepTaxonomy = generateDeepTaxonomy; const n3_1 = require("n3"); const { namedNode, quad } = n3_1.DataFactory; const ES = 'http://eulersharp.sourceforge.net/2009/12dtb/test#'; const TYPE = namedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'); const SUBCLASS_OF = namedNode('http://www.w3.org/2000/01/rdf-schema#subClassOf'); exports.TARGET_RESULT = quad(namedNode(`${ES}ind`), TYPE, namedNode(`${ES}A2`)); function generateDeepTaxonomy(size, extended = false) { const store = new n3_1.Store(); if (extended) { for (let i = 0; i < size; i += 1) { store.addQuad(quad(namedNode(`${ES}ind${i}`), TYPE, namedNode(`${ES}N0`))); } } else { store.addQuad(quad(namedNode(`${ES}ind`), TYPE, namedNode(`${ES}N0`))); } store.addQuad(quad(namedNode(`${ES}N${size}`), SUBCLASS_OF, namedNode(`${ES}A2`))); for (let i = 0; i < size; i += 1) { store.addQuads([ quad(namedNode(`${ES}N${i}`), SUBCLASS_OF, namedNode(`${ES}N${i + 1}`)), quad(namedNode(`${ES}N${i}`), SUBCLASS_OF, namedNode(`${ES}I${i + 1}`)), quad(namedNode(`${ES}N${i}`), SUBCLASS_OF, namedNode(`${ES}J${i + 1}`)), ]); } return store; }