hdt 3.0.2 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +63 -0
- package/.jshintignore +1 -0
- package/.jshintrc +10 -0
- package/binding.gyp +1 -0
- package/deps/libcds/README +12 -0
- package/lib/hdt.d.ts +47 -43
- package/package.json +4 -4
- package/.travis.yml +0 -37
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on: [push, pull_request]
|
|
3
|
+
|
|
4
|
+
concurrency:
|
|
5
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
6
|
+
cancel-in-progress: true
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ubuntu-latest]
|
|
15
|
+
node-version:
|
|
16
|
+
- 18.x
|
|
17
|
+
- 20.x
|
|
18
|
+
steps:
|
|
19
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
20
|
+
uses: actions/setup-node@v3
|
|
21
|
+
with:
|
|
22
|
+
node-version: ${{ matrix.node-version }}
|
|
23
|
+
- name: Ensure line endings are consistent
|
|
24
|
+
run: git config --global core.autocrlf input
|
|
25
|
+
- name: Check out repository
|
|
26
|
+
uses: actions/checkout@v3
|
|
27
|
+
with:
|
|
28
|
+
submodules: 'recursive'
|
|
29
|
+
- name: Load cache
|
|
30
|
+
uses: actions/cache@v3
|
|
31
|
+
with:
|
|
32
|
+
path: |
|
|
33
|
+
**/node_modules
|
|
34
|
+
.rdf-test-suite-cache
|
|
35
|
+
.rdf-test-suite-ldf-cache
|
|
36
|
+
key: ${{ runner.os }}-test-modules-${{ hashFiles('**/package-lock.json') }}
|
|
37
|
+
- name: Install dependencies
|
|
38
|
+
run: npm install
|
|
39
|
+
- name: Run tests
|
|
40
|
+
run: npm run test
|
|
41
|
+
- name: Run bin
|
|
42
|
+
run: bin/hdt test/test.hdt --format turtle --query 'http://example.org/s1 ?p ?o' | grep 'http://example.org/p1'
|
|
43
|
+
|
|
44
|
+
lint:
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
steps:
|
|
47
|
+
- name: Use Node.js
|
|
48
|
+
uses: actions/setup-node@v3
|
|
49
|
+
with:
|
|
50
|
+
node-version: 18.x
|
|
51
|
+
- name: Check out repository
|
|
52
|
+
uses: actions/checkout@v3
|
|
53
|
+
with:
|
|
54
|
+
submodules: 'recursive'
|
|
55
|
+
- name: Load cache
|
|
56
|
+
uses: actions/cache@v3
|
|
57
|
+
with:
|
|
58
|
+
path: '**/node_modules'
|
|
59
|
+
key: ${{ runner.os }}-lint-modules-${{ hashFiles('**/package-lock.json') }}
|
|
60
|
+
- name: Install dependencies
|
|
61
|
+
run: npm install
|
|
62
|
+
- name: Run linter
|
|
63
|
+
run: npm run lint
|
package/.jshintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
node_modules
|
package/.jshintrc
ADDED
package/binding.gyp
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
libcds implements low-level succinct data structures such as bitmaps,
|
|
2
|
+
sequences, permutations, etc. The main goal is to provide a set of
|
|
3
|
+
structures that form the building block of most compressed/succinct
|
|
4
|
+
solutions. In the near future we are planning to add compression
|
|
5
|
+
algorithms and support for succinct trees.
|
|
6
|
+
|
|
7
|
+
You can find more information at http://libcds.recoded.cl/
|
|
8
|
+
|
|
9
|
+
Right now we are just fixing bugs and testing some new things in here,
|
|
10
|
+
but most of the effort is being put into libcds2, this rewrite aims at
|
|
11
|
+
solving many problems with 64bits systems. This is necessary in order
|
|
12
|
+
to index bigger inputs.
|
package/lib/hdt.d.ts
CHANGED
|
@@ -1,44 +1,48 @@
|
|
|
1
|
-
import * as RDF from "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
hasExactCount: boolean;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface Document {
|
|
34
|
-
searchTriples(sub?: RDF.Term, pred?: RDF.Term, obj?: RDF.Term, opts?: SearchTriplesOpts): Promise<SearchResult>;
|
|
35
|
-
countTriples(sub?: RDF.Term, pred?: RDF.Term, obj?: RDF.Term): Promise<SearchResult>;
|
|
36
|
-
searchLiterals(substring: string, opts?: SearchLiteralsOpts): Promise<SearchLiteralsResult>;
|
|
37
|
-
searchTerms(opts?: SearchTermsOpts): Promise<string[]>;
|
|
38
|
-
close(): Promise<void>;
|
|
39
|
-
readHeader(): Promise<string>;
|
|
40
|
-
changeHeader(triples:string, outputFile:string): Promise<Document>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function fromFile(filename: string, opts?: { dataFactory?: RDF.DataFactory }): Promise<Document>;
|
|
1
|
+
import * as RDF from "@rdfjs/types";
|
|
2
|
+
|
|
3
|
+
export interface SearchTermsOpts {
|
|
4
|
+
limit?: number;
|
|
5
|
+
position?: "subject" | "predicate" | "object";
|
|
6
|
+
prefix?: string;
|
|
7
|
+
subject?: string; // mutually exclusive with prefix and prioritized
|
|
8
|
+
object?: string, // mutually exclusive with prefix and prioritized
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface SearchLiteralsOpts {
|
|
12
|
+
limit?: number;
|
|
13
|
+
offset?: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SearchLiteralsResult {
|
|
17
|
+
literals: RDF.Literal[];
|
|
18
|
+
totalCount: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface SearchTriplesOpts {
|
|
22
|
+
limit?: number;
|
|
23
|
+
offset?: number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface SearchResult {
|
|
27
|
+
triples: RDF.Quad[];
|
|
28
|
+
totalCount: number;
|
|
29
|
+
hasExactCount: boolean;
|
|
44
30
|
}
|
|
31
|
+
|
|
32
|
+
export interface Document {
|
|
33
|
+
searchTriples(sub?: RDF.Term, pred?: RDF.Term, obj?: RDF.Term, opts?: SearchTriplesOpts): Promise<SearchResult>;
|
|
34
|
+
|
|
35
|
+
countTriples(sub?: RDF.Term, pred?: RDF.Term, obj?: RDF.Term): Promise<SearchResult>;
|
|
36
|
+
|
|
37
|
+
searchLiterals(substring: string, opts?: SearchLiteralsOpts): Promise<SearchLiteralsResult>;
|
|
38
|
+
|
|
39
|
+
searchTerms(opts?: SearchTermsOpts): Promise<string[]>;
|
|
40
|
+
|
|
41
|
+
close(): Promise<void>;
|
|
42
|
+
|
|
43
|
+
readHeader(): Promise<string>;
|
|
44
|
+
|
|
45
|
+
changeHeader(triples: string, outputFile: string): Promise<Document>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function fromFile(filename: string, opts?: { dataFactory?: RDF.DataFactory }): Promise<Document>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hdt",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Native bindings to access HDT compressed triple files.",
|
|
5
5
|
"author": "Ruben Verborgh <ruben.verborgh@gmail.com>",
|
|
6
6
|
"keywords": [
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"minimist": "^1.1.0",
|
|
35
|
-
"n3": "^1.3
|
|
36
|
-
"nan": "^2.
|
|
37
|
-
"rdf-string": "^1.3
|
|
35
|
+
"n3": "^1.17.3",
|
|
36
|
+
"nan": "^2.19.0",
|
|
37
|
+
"rdf-string": "^1.6.3"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"eslint": "^5.3.0",
|
package/.travis.yml
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
language: node_js
|
|
2
|
-
os:
|
|
3
|
-
- linux
|
|
4
|
-
- osx
|
|
5
|
-
node_js:
|
|
6
|
-
- "6"
|
|
7
|
-
- "8"
|
|
8
|
-
- "10"
|
|
9
|
-
- "12"
|
|
10
|
-
- "14"
|
|
11
|
-
- "lts/*"
|
|
12
|
-
- "node"
|
|
13
|
-
addons:
|
|
14
|
-
apt:
|
|
15
|
-
sources:
|
|
16
|
-
- ubuntu-toolchain-r-test
|
|
17
|
-
packages:
|
|
18
|
-
- g++-4.8
|
|
19
|
-
install:
|
|
20
|
-
# Node.js compiler requirements
|
|
21
|
-
- if [ $TRAVIS_OS_NAME == linux ]; then
|
|
22
|
-
export CXX=g++-4.8;
|
|
23
|
-
fi
|
|
24
|
-
# Test packaged version
|
|
25
|
-
- npm pack .
|
|
26
|
-
- tar -xzf hdt-*.tgz
|
|
27
|
-
- cd package
|
|
28
|
-
- cp ../package-lock.json .
|
|
29
|
-
- npm install
|
|
30
|
-
- cp -r ../test .
|
|
31
|
-
script:
|
|
32
|
-
- npm run lint
|
|
33
|
-
- npm test
|
|
34
|
-
- bin/hdt test/test.hdt --format turtle --query 'http://example.org/s1 ?p ?o' | grep 'http://example.org/p1'
|
|
35
|
-
cache:
|
|
36
|
-
directories:
|
|
37
|
-
- node_modules
|