Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
Nos Hs2023
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
Språksamlingane
stadnamn
Nos Hs2023
Commits
e0cb9e22
Commit
e0cb9e22
authored
6 years ago
by
esikkala
Browse files
Options
Downloads
Patches
Plain Diff
Handle rejected promises, remove unnecessary result mappers
parent
41ebc29f
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/server/index.js
+1
-1
1 addition, 1 deletion
src/server/index.js
src/server/sparql/Mappers.js
+0
-108
0 additions, 108 deletions
src/server/sparql/Mappers.js
src/server/sparql/SparqlApi.js
+8
-21
8 additions, 21 deletions
src/server/sparql/SparqlApi.js
with
9 additions
and
130 deletions
src/server/index.js
+
1
−
1
View file @
e0cb9e22
...
...
@@ -32,7 +32,7 @@ app.get('/manuscripts', (req, res) => {
// console.log(data);
res
.
json
(
data
);
})
.
catch
(
(
err
)
=>
{
.
catch
(
err
=>
{
console
.
log
(
err
);
return
res
.
sendStatus
(
500
);
});
...
...
This diff is collapsed.
Click to expand it.
src/server/sparql/Mappers.js
+
0
−
108
View file @
e0cb9e22
import
_
from
'
lodash
'
;
import
{
getTreeFromFlatData
}
from
'
react-sortable-tree
'
;
//https://github.com/SemanticComputing/angular-paging-sparql-service/blob/master/src/sparql.object-mapper-service.js
export
const
groupBy
=
(
sparqlBindings
,
group
)
=>
Object
.
values
(
_
.
reduce
(
sparqlBindings
,
(
results
,
sparqlResult
)
=>
{
const
id
=
_
.
get
(
sparqlResult
[
group
],
'
value
'
);
if
(
id
===
undefined
)
{
return
[];
}
if
(
!
results
[
id
])
{
results
[
id
]
=
{};
}
let
result
=
results
[
id
];
_
.
forOwn
(
sparqlResult
,
(
value
,
key
)
=>
{
if
(
key
===
group
)
{
result
[
group
]
=
value
.
value
;
// ignore lang tags
}
else
{
const
oldValues
=
result
[
key
];
// add new value if it doesn't already exist
if
(
!
_
.
includes
(
oldValues
,
value
.
value
))
{
(
result
[
key
]
||
(
result
[
key
]
=
[])).
push
(
value
.
value
);
}
}
});
return
results
;
},
{}));
// export const mergeSuggestions = (suggestions) => {
// return groupBy(_.compact(_.flatten(suggestions)), 'label', false);
// };
//
//
// export const mergeSimpleSuggestions = (suggestions) => {
//
// // Suggestions from different datasets may have duplicates
// let uniqueSuggestions = [...new Set(_.flatten(suggestions))];
//
// // Sort suggestions alphabetically, because Lunece score does
// // not work with wildcard queries.
// return uniqueSuggestions.sort();
// };
//
// const capitalizeFirstLetter = (string) => {
// return string.charAt(0).toUpperCase() + string.slice(1);
// };
export
const
mapManuscripts
=
(
sparqlBindings
)
=>
{
// console.log(sparqlBindings);
const
results
=
sparqlBindings
.
map
(
b
=>
{
return
{
id
:
b
.
id
.
value
,
prefLabel
:
createStringList
(
b
.
prefLabel
.
value
),
//entry: createStringList(b.entry.value),
manuscriptRecord
:
_
.
has
(
b
,
'
manuscriptRecord
'
)
?
createStringList
(
b
.
manuscriptRecord
.
value
)
:
'
-
'
,
author
:
_
.
has
(
b
,
'
author
'
,)
?
createObjectList
(
b
.
author
.
value
,
'
names
'
)
:
'
-
'
,
owner
:
_
.
has
(
b
,
'
owner
'
,)
?
createObjectList
(
b
.
owner
.
value
,
'
names
'
)
:
'
-
'
,
timespan
:
_
.
has
(
b
,
'
timespan
'
,)
?
createStringList
(
b
.
timespan
.
value
)
:
'
-
'
,
creationPlace
:
_
.
has
(
b
,
'
creationPlace
'
,)
?
createObjectList
(
b
.
creationPlace
.
value
,
'
places
'
)
:
'
-
'
,
material
:
_
.
has
(
b
,
'
material
'
,)
?
createStringList
(
b
.
material
.
value
)
:
'
-
'
,
language
:
_
.
has
(
b
,
'
language
'
,)
?
createStringList
(
b
.
language
.
value
)
:
'
-
'
,
};
});
return
results
;
};
const
createStringList
=
(
str
)
=>
{
const
list
=
str
.
split
(
'
|
'
);
return
list
.
length
<
2
?
list
[
0
]
:
list
;
};
const
createObjectList
=
(
str
,
sdbmType
)
=>
{
const
list
=
str
.
split
(
'
|
'
);
if
(
list
.
length
<
2
)
{
return
createObject
(
list
[
0
],
sdbmType
);
}
else
{
return
list
.
map
(
item
=>
{
return
createObject
(
item
,
sdbmType
);
});
}
};
const
createObject
=
(
str
,
sdbmType
)
=>
{
const
values
=
str
.
split
(
'
;
'
);
if
(
values
.
length
>
2
)
{
return
{
id
:
values
[
1
],
prefLabel
:
values
[
0
],
order
:
values
[
2
],
entry
:
values
[
3
],
sdbmLink
:
`https://sdbm.library.upenn.edu/
${
sdbmType
}
/
${
values
[
1
].
substring
(
values
[
1
].
lastIndexOf
(
'
/
'
)
+
1
)}
`
};
}
else
{
return
{
id
:
values
[
1
],
prefLabel
:
values
[
0
],
sdbmLink
:
`https://sdbm.library.upenn.edu/
${
sdbmType
}
/
${
values
[
1
].
substring
(
values
[
1
].
lastIndexOf
(
'
/
'
)
+
1
)}
`
};
}
};
export
const
mapPlaces
=
(
sparqlBindings
)
=>
{
//console.log(sparqlBindings);
const
results
=
sparqlBindings
.
map
(
b
=>
{
...
...
@@ -176,12 +77,3 @@ const recursiveSort = nodes => {
});
return
nodes
;
};
export
const
mapAllResults
=
(
results
)
=>
groupBy
(
results
,
'
id
'
);
export
const
mergeFederatedResults
=
(
results
)
=>
{
// SPARQL query defines the ordering of results of one dataset.
// Return all merged results subsequentially.
//console.log(_.flatten(results))
return
_
.
flatten
(
results
);
};
This diff is collapsed.
Click to expand it.
src/server/sparql/SparqlApi.js
+
8
−
21
View file @
e0cb9e22
...
...
@@ -26,31 +26,18 @@ class SparqlApi {
body
:
params
,
headers
:
headers
,
})
.
then
(
res
=>
{
if
(
res
.
ok
)
{
// res.status >= 200 && res.status < 300
return
res
;
}
else
{
return
reject
(
res
.
statusText
);
}
})
.
then
(
res
=>
res
.
text
())
.
then
(
data
=>
{
return
resolve
(
data
);
})
.
catch
(
error
=>
console
.
log
(
'
error is
'
,
error
));
// if (this.endpoint === 'http://vocab.getty.edu/sparql.json') {
// const url = this.endpoint + '?query=' + query;
// fetch(url)
// .then(response => {
// return response.json();
// })
// .then(responseData => {
// return resolve(responseData);
// })
// .catch(error => console.log('error is', error));
// } else {
// const body = { query: query};
// request.post(this.endpoint)
// .send(body)
// .set(headers)
// .end((err, res) => {
// if (err || !res.ok) return reject(err);
// return resolve(res.text);
// });
// }
.
catch
(
err
=>
console
.
log
(
err
));
});
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment