Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Support multiple backends (4store, GraphDb, Virtuoso, and AllegroGraph) #152

Draft
wants to merge 251 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
251 commits
Select commit Hold shift + click to select a range
c52aa0d
Merge branch 'master' into lirmm
vemonet Apr 13, 2017
5fafc98
Merge branch 'master' into lirmm
vemonet May 5, 2017
ae67841
add Goo.main_languages, an array to define the main_languages of the …
vemonet Jun 9, 2017
18d5eca
Use 'Goo.main_languages' to get a property value. now when retrieving…
vemonet Jun 9, 2017
57181ca
Merge branch 'master' into lirmm
vemonet Jun 9, 2017
fa40b50
add main_lang and accepted_lang instead of just main_languages.
vemonet Jun 9, 2017
172f786
remove accepted_lang, now only used main_lang
vemonet Jun 9, 2017
1570824
add comment on how solr docs are generated
vemonet Jun 12, 2017
2e54709
now only index labels with the language included in main_lang
vemonet Jun 13, 2017
5447337
Merge branch 'sifr_metadata' into lirmm
vemonet Jun 13, 2017
f313679
now take prefLabel with a lang that is in main_lang in priority, then…
vemonet Jun 13, 2017
c344da8
Merge branch 'sifr_metadata' into lirmm
vemonet Jun 13, 2017
4d32d7e
retrieve label from bad langs
vemonet Jun 13, 2017
07340fc
fix how we retrieve labels when no labels frfrom one of the main_lang
vemonet Jun 13, 2017
773a0f3
avoid attributeNotLoaded error for empty labels now
vemonet Jun 13, 2017
a17bc26
stop trying to get bad lang values for indexing
vemonet Jun 13, 2017
9a2fe31
return array instead of nil when no value for attr
vemonet Jun 13, 2017
1aacead
Fixing merge conflicts with NCBO master
Apr 24, 2020
711b8d9
Gemfile.lock update
jlamarque34 Jun 16, 2020
894aba0
Fixing merge issue with NCBO master (goo/search/search.rb)
Jun 26, 2020
1f5c0e3
Gemfile.lock update
jlamarque34 Jun 26, 2020
88a617b
Merge branch 'master' of https://github.com/ncbo/goo into 20200626_nc…
jlamarque34 Jun 26, 2020
bf42c5c
Gemfile.lock update
ontoportal-bot-lirmm Jul 3, 2020
09e8627
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jul 10, 2020
34aa887
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jul 16, 2020
15b2492
Merge branch 'master' of https://github.com/ncbo/goo into ncbo_merge_…
ontoportal-bot-lirmm Jul 22, 2020
819d812
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Aug 25, 2020
0bc77f4
Merge branch 'virtual-appliance-3.0-merge' into ncbo_merge_master
ontoportal-bot-lirmm Aug 25, 2020
19107d6
Merge branch 'master' of https://github.com/ncbo/goo into ncbo_merge_…
ontoportal-bot-lirmm Sep 8, 2020
0ee32cd
Merge branch 'virtual-appliance-3.0-merge'
Sep 10, 2020
5d4b78d
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Sep 10, 2020
7dee210
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Oct 1, 2020
ba3edcd
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Oct 30, 2020
4523fd3
merge with upstream
syphax-bouazzouni Dec 10, 2021
89a8f66
fix #4 ; add regex filter
syphax-bouazzouni Dec 28, 2021
694aa19
add main_languages configuration variable
syphax-bouazzouni Mar 15, 2022
eec4d60
add LanguageFilter class to filter an attribute values by the languages
syphax-bouazzouni Mar 15, 2022
31b0bb0
use LanguageFilter in the solution mapper
syphax-bouazzouni Mar 15, 2022
55a9313
use the LanguageFilter in map_attributes
syphax-bouazzouni Mar 15, 2022
1108250
add include variable to the solution mapper arguments
syphax-bouazzouni Mar 16, 2022
fdbc4ae
merge pl/add-mainlang-defaults-refactored into development
syphax-bouazzouni Mar 16, 2022
7c9aa72
change the language filter to take only one language
syphax-bouazzouni Mar 16, 2022
ca344b0
Merge branch 'pl/add-mainlang-defaults-refactored' into development
syphax-bouazzouni Mar 16, 2022
56fc95c
merge pl/add-mainlang-defaults-refactored into master
syphax-bouazzouni Mar 16, 2022
ba27011
add the condition of nil? or empty? before adding the no_lang
syphax-bouazzouni Mar 18, 2022
60c686f
Merge branch 'pl/add-mainlang-defaults-refactored' into development
syphax-bouazzouni Mar 18, 2022
7e18f10
Merge branch 'pl/add-mainlang-defaults-refactored'
syphax-bouazzouni Mar 18, 2022
dd9681d
Merge branch 'upstream v5.22.3' into development
syphax-bouazzouni May 12, 2022
a077033
merge to upstream v 5.22.3 (and more)
syphax-bouazzouni May 12, 2022
c7106bd
uniquify the language values
syphax-bouazzouni May 16, 2022
50f248f
Merge branch 'pl/add-mainlang-defaults-refactored' into development
syphax-bouazzouni May 16, 2022
f556970
Merge branch 'pl/add-mainlang-defaults-refactored'
syphax-bouazzouni May 16, 2022
f0eadc2
Merge branch 'pr/fix/append_triples_by_chunks' into development
syphax-bouazzouni Jul 1, 2022
103bbd4
Merge branch 'pr/fix/append_triples_by_chunks'
syphax-bouazzouni Jul 1, 2022
73ec8f3
Merge branch 'pr/feature/optimize-sparql-query-build-unions' into dev…
syphax-bouazzouni Jul 20, 2022
835aefa
re-implement the lang filter for the query builder
syphax-bouazzouni Jul 20, 2022
ea431e7
Merge branch 'pr/feature/optimize-sparql-query-build-unions'
syphax-bouazzouni Jul 25, 2022
d1d34dc
re-implement the lang filter for the query builder
syphax-bouazzouni Jul 20, 2022
199f12e
Merge branch 'development'
syphax-bouazzouni Oct 13, 2022
ad48ecf
Merge branch 'pr/feature/optimize-sparql-query-build-unions' into dev…
syphax-bouazzouni Nov 23, 2022
9580bfd
Merge branch 'pr/feature/optimize-sparql-query-build-unions'
syphax-bouazzouni Nov 23, 2022
8c84c9e
force attribute values with lang to be string
syphax-bouazzouni Nov 23, 2022
25874f8
Merge branch 'pl/add-mainlang-defaults-refactored' into development
syphax-bouazzouni Nov 23, 2022
05495af
Merge branch 'pl/add-mainlang-defaults-refactored'
syphax-bouazzouni Nov 23, 2022
34a9fdf
force attribute values with lang to be Array
syphax-bouazzouni Nov 23, 2022
e26325e
Merge branch 'pl/add-mainlang-defaults-refactored' into development
syphax-bouazzouni Nov 25, 2022
b30de6e
Merge branch 'pl/add-mainlang-defaults-refactored'
syphax-bouazzouni Nov 25, 2022
295d794
Merge branch 'pr/feature/optimize-sparql-query-build-unions' into dev…
syphax-bouazzouni Nov 29, 2022
738e7d7
Merge branch 'pr/feature/optimize-sparql-query-build-unions'
syphax-bouazzouni Nov 29, 2022
b7d7f7f
Merge branch 'upstream' into merge/merge-to-upstream-v-5.23.1
syphax-bouazzouni Dec 17, 2022
ba4f910
merge partial fix to ncbo/bioportal-project#251
syphax-bouazzouni Dec 17, 2022
3ddcf11
Revert "A small (2 line) fix for 3 or 12 (depending on how it is coun…
stdotjohn Nov 4, 2022
86553d2
fix test_model_complex.rb tests with a uniq and not reused model name
syphax-bouazzouni Dec 17, 2022
514311c
Merge branch 'pr/feature/optimize-sparql-query-build-unions' into dev…
syphax-bouazzouni Dec 17, 2022
41b6e62
Merge branch 'merge/merge-to-upstream-v-5.23.1' into development
syphax-bouazzouni Dec 17, 2022
8083f4d
Merge pull request #15 from ontoportal-lirmm/development
syphax-bouazzouni Dec 17, 2022
8e0e46d
fix test_embed_struct in test_read_only.rb
syphax-bouazzouni Dec 17, 2022
361940a
fix test_reentrant_queries by ensuring the write thread is still alive
syphax-bouazzouni Dec 17, 2022
a30af42
update test_inverse_on_collection test
syphax-bouazzouni Dec 17, 2022
3d5bbe1
Merge branch 'pr/fix-some-skiped-tests' into development
syphax-bouazzouni Dec 17, 2022
9296897
Merge branch 'development'
syphax-bouazzouni Dec 17, 2022
4c87b64
add REGEX filter unit test
syphax-bouazzouni Jan 19, 2023
03d8ccc
update query_filter_sparql to handle REGEX
syphax-bouazzouni Jan 19, 2023
f114f50
Merge branch 'master' into fix/update-regex-filter
syphax-bouazzouni Jan 19, 2023
e47cf04
Merge pull request #16 from ontoportal-lirmm/fix/update-regex-filter
syphax-bouazzouni Jan 19, 2023
b6526a1
Merge branch 'master' into development
syphax-bouazzouni Jan 19, 2023
cda6aff
Merge branch 'pr/feature/optimize-sparql-query-build-unions' into dev…
syphax-bouazzouni Jan 19, 2023
e03f6e8
Merge pull request #17 from ontoportal-lirmm/development
syphax-bouazzouni Feb 16, 2023
f20479f
add tests for the new dsl to write property data types
syphax-bouazzouni Feb 27, 2023
b6cbb1a
append the property :type values to the :enforce array
syphax-bouazzouni Feb 27, 2023
67707a6
Merge pull request #23 from ontoportal-lirmm/feature/add-property-dat…
syphax-bouazzouni Feb 27, 2023
209ea16
update solution mapper to support multilingual
haddadzineddine Feb 27, 2023
207a483
update solution mapper to support multilingual
haddadzineddine Feb 27, 2023
1a7a6bf
fix typo ( name )
haddadzineddine Feb 27, 2023
243bead
Merge branch 'pr/refactor/resources-validators' into refactor/resourc…
syphax-bouazzouni Feb 28, 2023
54be764
Merge branch 'pr/refactor/resources-validators' into refactor/resourc…
syphax-bouazzouni Feb 28, 2023
3eb11be
Merge pull request #26 from ontoportal-lirmm/refactor/resources-valid…
syphax-bouazzouni Feb 28, 2023
5168edf
add symmetric validator tests for no_list and list cases
syphax-bouazzouni Feb 28, 2023
810771a
implement symmetric validator
syphax-bouazzouni Feb 28, 2023
0f20d7a
move re used methods to the parent class
syphax-bouazzouni Feb 28, 2023
9e4739c
update symmetric code and error message
syphax-bouazzouni Feb 28, 2023
05bb6cb
add distinct of validator tests
syphax-bouazzouni Feb 28, 2023
fb62419
implement distinct_of validator
syphax-bouazzouni Feb 28, 2023
5cd980d
add superior_equal_to validator tests
syphax-bouazzouni Feb 28, 2023
0d17a84
extract property method to ValidatorBase class
syphax-bouazzouni Feb 28, 2023
5740a6b
implement superior_equal_to validator
syphax-bouazzouni Feb 28, 2023
9707004
add inverse of validator tests
syphax-bouazzouni Feb 28, 2023
9ea0be8
implement inverse_of validator
syphax-bouazzouni Feb 28, 2023
ba8bf8a
use the class method property in distinct of
syphax-bouazzouni Feb 28, 2023
f190ae8
Merge pull request #27 from ontoportal-lirmm/feature/implement-new-va…
syphax-bouazzouni Feb 28, 2023
f061e51
add proc validator tests
syphax-bouazzouni Feb 28, 2023
b7cccab
add instance proc validators
syphax-bouazzouni Feb 28, 2023
73def74
fix call_proc validator to test if the returned values are correct
syphax-bouazzouni Feb 28, 2023
93530e5
Merge pull request #28 from ontoportal-lirmm/feature/implement-new-va…
syphax-bouazzouni Feb 28, 2023
fe85a2b
add model_with_yaml_scheme test
syphax-bouazzouni Feb 28, 2023
4255a09
implement YAMLScheme module
syphax-bouazzouni Feb 28, 2023
0d467ad
use YAMLScheme module in Settings module
syphax-bouazzouni Feb 28, 2023
210e328
Merge pull request #30 from ontoportal-lirmm/feature/add-model-scheme…
syphax-bouazzouni Feb 28, 2023
a903826
use platform lang and code refacto
haddadzineddine Mar 1, 2023
ef7f5cf
filter by lang in properties
haddadzineddine Mar 1, 2023
562065b
do some refactoring
haddadzineddine Mar 1, 2023
6f9e73d
add unmapped_get to goo resources
syphax-bouazzouni Mar 3, 2023
9f91124
update lang filter module to support requested_lang and portal_lang
syphax-bouazzouni Mar 3, 2023
536e22f
use the new lang filter module in the solution_mapper
syphax-bouazzouni Mar 3, 2023
085eb41
remove the usage of the old lang filter module in map_attributes
syphax-bouazzouni Mar 3, 2023
3773c52
Merge branch 'development' into feature/support-multilingual-read-one…
syphax-bouazzouni Mar 3, 2023
48389a0
add request language global variable
syphax-bouazzouni Mar 4, 2023
08bdaa1
fix datatype check for list values
syphax-bouazzouni Mar 4, 2023
44966b6
Merge branch 'feature/implement-new-validators' into development
syphax-bouazzouni Mar 4, 2023
d461c59
Merge remote-tracking branch 'origin/development' into development
syphax-bouazzouni Mar 4, 2023
8086049
Merge branch 'development' into feature/support-multilingual-read-one…
syphax-bouazzouni Mar 4, 2023
5e5c772
remove old unused test if clause
syphax-bouazzouni Mar 4, 2023
4cc7a7f
for no unmapped values cast them to object before sending
syphax-bouazzouni Mar 4, 2023
660e8c5
for resource unmapped_set merge new value if an array
syphax-bouazzouni Mar 4, 2023
d30c574
prevent add_object_to_model if no_lang and previous value exist
syphax-bouazzouni Mar 4, 2023
96e5732
move from the mapper lang_filter related code to lang_filter module
syphax-bouazzouni Mar 4, 2023
92bed92
move internal lang filter module methods to private section
syphax-bouazzouni Mar 4, 2023
bcbf686
add request_store gem to save request language globally
syphax-bouazzouni Mar 4, 2023
f1a5845
save requested language in model_load options
syphax-bouazzouni Mar 4, 2023
ac8709a
force requested_lang and portal_langs to be upcase and symbol
syphax-bouazzouni Mar 5, 2023
8dbb74b
change methodes/vars names
haddadzineddine Mar 6, 2023
f841af8
Merge branch 'feature/support-multilingual-read-one-language-from-req…
haddadzineddine Mar 6, 2023
996922a
get the last item in objects instead of passing the current object
haddadzineddine Mar 6, 2023
dedba29
Merge pull request #24 from ontoportal-lirmm/feature/support-multilin…
syphax-bouazzouni Mar 6, 2023
b769c16
Revert "get the last item in objects instead of passing the current o…
haddadzineddine Mar 6, 2023
30ed9f9
handle this case where values is nil in save_model_values
syphax-bouazzouni Mar 7, 2023
597436e
Merge branch 'feature/support-multilingual-read-one-language-from-req…
syphax-bouazzouni Mar 7, 2023
07b06c3
handle the casf of nil values for the SuperiorEqualTo validator
syphax-bouazzouni Mar 14, 2023
a82a443
Merge branch 'feature/implement-new-validators' into development
syphax-bouazzouni Mar 14, 2023
c83687e
add onUpdate callback tests
syphax-bouazzouni Mar 16, 2023
e4979ff
implement enforce_callback to run an attribute callback
syphax-bouazzouni Mar 16, 2023
c7f7092
move the attribute default callback to the save method
syphax-bouazzouni Mar 16, 2023
f81b15f
implement onUpdate DSL in the ressource settings
syphax-bouazzouni Mar 16, 2023
714f085
call to the attributes onUpdate callback in the save method
syphax-bouazzouni Mar 16, 2023
90f3336
Merge pull request #31 from ontoportal-lirmm/feature/add-models-on-up…
syphax-bouazzouni Mar 16, 2023
f8caff7
in validators bring attribute if needed
syphax-bouazzouni Mar 17, 2023
89d8510
Merge branch 'feature/implement-new-validators' into development
syphax-bouazzouni Mar 17, 2023
7de77a0
make superior_equal_to works for list attributes
syphax-bouazzouni Mar 19, 2023
1895ccd
Merge branch 'feature/implement-new-validators' into development
syphax-bouazzouni Mar 19, 2023
5ca8b16
add email validator test
syphax-bouazzouni Mar 19, 2023
6f4f50f
implement email validator
syphax-bouazzouni Mar 19, 2023
f9b73ce
Merge branch 'feature/implement-new-validators' into development
syphax-bouazzouni Mar 19, 2023
f786879
add filters patterns to select variables
syphax-bouazzouni Apr 22, 2023
a613c80
make make regex filter no-case sensitive
syphax-bouazzouni Apr 22, 2023
88676a1
if requested_lang = 'all' return all
haddadzineddine Apr 23, 2023
688ec5e
support select multilanguage
haddadzineddine Apr 24, 2023
7871af7
show the values with their corresponding language
haddadzineddine Apr 26, 2023
dd5f3ef
use @attributes_to_translate
haddadzineddine Apr 26, 2023
38346eb
Merge pull request #34 from ontoportal-lirmm/fix/filters-with-paginat…
syphax-bouazzouni Apr 28, 2023
1484ad5
Merge pull request #33 from ontoportal-lirmm/feature/make-regex-filte…
syphax-bouazzouni Apr 28, 2023
5f81e7b
change methode name
haddadzineddine Apr 28, 2023
bb685a2
remove platform languages
haddadzineddine Apr 28, 2023
778b696
add complex_order_by unit test
syphax-bouazzouni May 1, 2023
b7a4c56
refactor query_builder to extract internal_variables as instance vari…
syphax-bouazzouni May 1, 2023
4df6681
update order_by to work for joined patterns (object attributes)
syphax-bouazzouni May 1, 2023
c3456c4
Merge pull request #36 from ontoportal-lirmm/feature/add-complex-oder-by
syphax-bouazzouni May 1, 2023
7ffeccd
downcase lang key
haddadzineddine May 9, 2023
3967feb
Fix the issue of undefined 'id' of the language filter module
syphax-bouazzouni May 10, 2023
78e6420
Show literal attribute if we requested all the languages
syphax-bouazzouni May 10, 2023
7e1410c
Use portal language by default in the language filter module
syphax-bouazzouni May 10, 2023
c6660c3
Merge branch 'feature/language-return-all' into development
syphax-bouazzouni May 10, 2023
40df9b0
group unmapped properties by lang
haddadzineddine Jun 1, 2023
cbd0186
Feature: group unmapped properties by language (#38)
haddadzineddine Jun 6, 2023
e0bf04f
assert that pre in an array in get_value_object
haddadzineddine Jun 13, 2023
39b7f2f
add label to attributes_to_translate
haddadzineddine Jun 13, 2023
8af1d47
update define_method
haddadzineddine Jun 20, 2023
5b7c78f
update solution mapper
haddadzineddine Jun 20, 2023
3161fbb
update get_preload_value
haddadzineddine Jun 20, 2023
6c17904
Feature: Support multi lingual - add show_language argument to the a…
haddadzineddine Jun 28, 2023
cca637e
fix save_model_values if unmmaped condition
haddadzineddine Jul 13, 2023
e7a1e75
Merge branch 'development' into support-muli-lang-part-02
haddadzineddine Jul 13, 2023
4f60437
Merge pull request #40 from ontoportal-lirmm/support-muli-lang-part-02
haddadzineddine Jul 13, 2023
94959cd
fix getters for list attributes to not take only the first value
syphax-bouazzouni Jul 14, 2023
37da0d3
remove the languages hash for the unmapped if not a mutli langual asked
syphax-bouazzouni Jul 14, 2023
a650480
move some language helper from the mapper to the lang_filter module
syphax-bouazzouni Jul 14, 2023
6785c4b
move @requested_lang variable from the mapper to the lang_filter module
syphax-bouazzouni Jul 14, 2023
966ab12
remove no more used @attributes_to_translate variable in lang_filter
syphax-bouazzouni Jul 14, 2023
ae7be1f
Merge branch 'development' into support-muli-lang-part-02
syphax-bouazzouni Jul 14, 2023
a990260
fix save_model_values method to not save RDF:Literal object but a string
syphax-bouazzouni Jul 14, 2023
5d0a84b
remove not used method in lang filter module
syphax-bouazzouni Jul 14, 2023
58b07f3
refecator and rename some methods of the lang_filter module
syphax-bouazzouni Jul 14, 2023
efd0436
use the new name of the lang filter methods in the solution mapper
syphax-bouazzouni Jul 14, 2023
e26009a
replace the getters argument to show languages from :show_all_languag…
syphax-bouazzouni Jul 14, 2023
10722be
Merge pull request #41 from ontoportal-lirmm/support-muli-lang-part-02
syphax-bouazzouni Jul 14, 2023
e5d4d1a
catch transform_values of unmapped if it is nil
syphax-bouazzouni Jul 14, 2023
81ce88c
Merge branch 'support-muli-lang-part-02' into development
syphax-bouazzouni Jul 14, 2023
5952f87
change the getters show_all_languages argument from to include_languages
syphax-bouazzouni Jul 14, 2023
a81f12c
make the map_attributes handle the option showing all the languages
syphax-bouazzouni Jul 14, 2023
cc0c27e
Merge pull request #33 from ontoportal-lirmm/feature/make-regex-filte…
syphax-bouazzouni Apr 28, 2023
9753f04
Merge pull request #34 from ontoportal-lirmm/fix/filters-with-paginat…
syphax-bouazzouni Apr 28, 2023
a82e6f5
Merge pull request #36 from ontoportal-lirmm/feature/add-complex-oder-by
syphax-bouazzouni May 1, 2023
bd71542
Merge pull request #43 from ontoportal-lirmm/merge-to-master-2.3.3
syphax-bouazzouni Sep 5, 2023
0c0dba9
Merge pull request #42 from ontoportal-lirmm/feature/support-multi-la…
syphax-bouazzouni Jul 14, 2023
cd7d26d
fix order by an attribute that is already filtered
syphax-bouazzouni Sep 21, 2023
0019b4b
Merge pull request #47 from ontoportal-lirmm/fix/complex-orderby-with…
syphax-bouazzouni Sep 21, 2023
891fa99
don't add the filtered variables to the select clause of the query
syphax-bouazzouni Sep 22, 2023
6946668
Merge branch 'fix/complex-orderby-with-filters' into development
syphax-bouazzouni Sep 22, 2023
e87c21e
add filters patterns to select variables
syphax-bouazzouni Oct 19, 2023
19c9ce1
fix pagination with order_by with filter that returns empty pages for…
syphax-bouazzouni Oct 19, 2023
4c46c8a
Merge pull request #49 from ontoportal-lirmm/fix/filters-with-paginat…
syphax-bouazzouni Oct 19, 2023
c4dd04d
include the in the select variables filtered variables
syphax-bouazzouni Oct 19, 2023
5247e8d
optimize pagination query by not re-doing the filters and order in th…
syphax-bouazzouni Oct 19, 2023
5979402
Merge pull request #50 from ontoportal-lirmm/fix/filters-with-paginat…
syphax-bouazzouni Oct 19, 2023
04419a8
Merge to master: Release 2.3.3 - Multilingual (#44)
syphax-bouazzouni Dec 4, 2023
8c2faa0
Merge branch 'master'
syphax-bouazzouni Dec 4, 2023
d4d9417
Merge to master: Release 2.3.4 - New model capabilities (validators, …
syphax-bouazzouni Dec 4, 2023
9aa0cca
Merge branch 'master' into development
syphax-bouazzouni Dec 4, 2023
74ea47d
Merge to master - Release 2.3.5 - Optimize order by and filters quer…
syphax-bouazzouni Dec 5, 2023
8b826ab
fix map attribute for properties that contain a mix of string and URIs
syphax-bouazzouni Dec 13, 2023
6187c20
Merge remote-tracking branch 'origin/master' into development
syphax-bouazzouni Dec 13, 2023
fb89f9c
simplify the test configuration init
syphax-bouazzouni Jan 29, 2024
c06f100
add docker based tests rake task to run test against 4s, ag, gb, vo
syphax-bouazzouni Jan 29, 2024
70fd74f
remove faraday gem usage
syphax-bouazzouni Jan 29, 2024
bf6b3d1
update test CI to test against all the supported backends with diffir…
syphax-bouazzouni Jan 29, 2024
f82890f
add high level helper to to know which backend we are currently using
syphax-bouazzouni Jan 29, 2024
f68f96d
extract sparql processor module from where module
syphax-bouazzouni Jan 29, 2024
a3f8a60
handle language_match? value to upcase by default
syphax-bouazzouni Jan 29, 2024
8b59e8c
add support for virtuoso and graphdb sparql client
syphax-bouazzouni Jan 29, 2024
945bc81
replace delete sparql query by delete graph in the model complex test
syphax-bouazzouni Jan 29, 2024
9d8b299
add some new edge cases tests t o test_where.rb and test_schemaless
syphax-bouazzouni Jan 29, 2024
deed0eb
make test_chunks_write.rb tests support multiple backends
syphax-bouazzouni Jan 29, 2024
bc8a1e5
replace native insert_data with execute_append_request in model save
syphax-bouazzouni Jan 29, 2024
402ce6d
remove add_rules as it seems to no more be used
syphax-bouazzouni Jan 29, 2024
5fa9dd3
move expand_equivalent_predicates from loader to builder module
syphax-bouazzouni Jan 29, 2024
45311c6
build two diffirent queries depending on which backend used
syphax-bouazzouni Jan 29, 2024
4ff8361
update mapper to handle the two different queries depending on the ba…
syphax-bouazzouni Jan 29, 2024
a57831b
simplify the loader code, by removing inferable variables
syphax-bouazzouni Jan 29, 2024
970ee78
refactor and simplify map_attributes method
syphax-bouazzouni Jan 29, 2024
09c944f
fix test chunks write concenrency issues
syphax-bouazzouni Jan 29, 2024
d316639
Merge branch 'feature/migrate-to-virtuso' into pr/feature/support-mul…
syphax-bouazzouni Apr 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions .github/workflows/ruby-unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,14 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby-version: ['2.7', '3.0']
triplestore: ['fs', 'ag']
goo-slice: [ '20', '100', '500' ]
ruby-version: [ '2.7', '3.0' ]
triplestore: [ 'fs', 'ag', 'vo', 'gb' ]

steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt-get -y install raptor2-utils
run: sudo apt-get update && sudo apt-get -y install raptor2-utils
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
Expand All @@ -27,8 +28,10 @@ jobs:
- name: Add config file
# tempoaray workaround for the config.rb file requirement
run: echo 'Goo.config do |config| end' > config/config.rb
- name: List directory contents
run: ls -R ./test/data
- name: Run tests
run: bundle exec rake test:docker:${{ matrix.triplestore }} TESTOPTS="-v"
run: GOO_SLICES=${{ matrix.goo-slice }} bundle exec rake test:docker:${{ matrix.triplestore }} TESTOPTS="-v"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
Expand Down
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2.7.8
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ gem "activesupport"
gem "cube-ruby", require: "cube"
gem "rake"
gem "uuid"
gem "request_store"

group :test do
gem "minitest", '< 5.0'
Expand Down
7 changes: 6 additions & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ GEM
redis-client (>= 0.22.0)
redis-client (0.22.1)
connection_pool
request_store (1.6.0)
rack (>= 1.4)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
Expand Down Expand Up @@ -121,6 +123,8 @@ GEM

PLATFORMS
x86_64-darwin-18
x86_64-darwin-23
x86_64-linux

DEPENDENCIES
activesupport
Expand All @@ -131,6 +135,7 @@ DEPENDENCIES
rack-accept
rack-post-body-to-params
rake
request_store
simplecov
simplecov-cobertura
sinatra
Expand All @@ -139,4 +144,4 @@ DEPENDENCIES
uuid

BUNDLED WITH
2.3.15
2.4.22
61 changes: 49 additions & 12 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ services:
retries: 30

solr-ut:
image: ontoportal/solr-ut:0.1.0
image: ontoportal/solr-ut:0.0.2
ports:
- 8983:8983
healthcheck:
Expand All @@ -28,22 +28,23 @@ services:
- AGRAPH_SUPER_PASSWORD=xyzzy
shm_size: 1g
ports:
# - 10035:10035
- 10000-10035:10000-10035
volumes:
- agdata:/agraph/data
# - ./agraph/etc:/agraph/etc
command: >
bash -c "/agraph/bin/agraph-control --config /agraph/etc/agraph.cfg start
; agtool repos create ontoportal_test --supersede
; agtool users add anonymous
; agtool users grant anonymous root:ontoportal_test:rw
; tail -f /agraph/data/agraph.log"
healthcheck:
test: ["CMD-SHELL", "agtool storage-report ontoportal_test || exit 1"]
start_period: 30s
interval: 10s
timeout: 10s
retries: 10
bash -c "/agraph/bin/agraph-control --config /agraph/etc/agraph.cfg start
; agtool repos create ontoportal_test --supersede
; agtool users add anonymous
; agtool users grant anonymous root:ontoportal_test:rw
; tail -f /agraph/data/agraph.log"
# healthcheck:
# test: ["CMD-SHELL", "curl -sf http://127.0.0.1:10035/repositories/ontoportal_test/status | grep -iqE '(^running|^lingering)' || exit 1"]
# start_period: 10s
# interval: 10s
# timeout: 5s
# retries: 5
profiles:
- ag

Expand All @@ -58,5 +59,41 @@ services:
&& 4s-httpd -D -s-1 -p 9000 ontoportal_kb"
profiles:
- fs
virtuoso-ut:
image: tenforce/virtuoso:virtuoso7.2.5
platform: linux/amd64
environment:
- SPARQL_UPDATE=true
ports:
- 1111:1111
- 8890:8890

profiles:
- vo

graphdb:
image: ontotext/graphdb:10.3.3
platform: linux/amd64
privileged: true
environment:
GDB_HEAP_SIZE: 5G
GDB_JAVA_OPTS: >-
-Xms5g -Xmx5g
ports:
- 7200:7200
- 7300:7300
volumes:
- ./test/data/graphdb-repo-config.ttl:/opt/graphdb/dist/configs/templates/data/graphdb-repo-config.ttl
- ./test/data/graphdb-test-load.nt:/opt/graphdb/dist/configs/templates/data/graphdb-test-load.nt

entrypoint: >
bash -c " importrdf load -f -c /opt/graphdb/dist/configs/templates/data/graphdb-repo-config.ttl -m parallel /opt/graphdb/dist/configs/templates/data/graphdb-test-load.nt ; graphdb -Ddefault.min.distinct.threshold=3000 "
profiles:
- gb

volumes:
agdata:




51 changes: 51 additions & 0 deletions lib/goo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ module Goo

@@resource_options = Set.new([:persistent]).freeze

# Define the languages from which the properties values will be taken
# It choose the first language that match otherwise return all the values
@@main_languages = %w[en]
@@requested_language = nil

@@configure_flag = false
@@sparql_backends = {}
@@model_by_name = {}
Expand All @@ -47,6 +52,52 @@ module Goo

@@slice_loading_size = 500



def self.log_debug_file(str)
debug_file = "./queries.txt"
File.write(debug_file, str.to_s + "\n", mode: 'a')
end



def backend_4s?
sparql_backend_name.downcase.eql?("4store")
end

def backend_ag?
sparql_backend_name.downcase.eql?("allegrograph")
end

def backend_gb?
sparql_backend_name.downcase.eql?("graphdb")
end

def backend_vo?
sparql_backend_name.downcase.eql?("virtuoso")
end


def self.main_languages
@@main_languages
end
def self.main_languages=(lang)
@@main_languages = lang
end

def self.requested_language
@@requested_language
end

def self.requested_language=(lang)
@@requested_language = lang
end

def self.language_includes(lang)
lang_str = lang.to_s
main_languages.index { |l| lang_str.downcase.eql?(l) || lang_str.upcase.eql?(l)}
end

def self.add_namespace(shortcut, namespace,default=false)
if !(namespace.instance_of? RDF::Vocabulary)
raise ArgumentError, "Namespace must be a RDF::Vocabulary object"
Expand Down
Loading