dataesr/scientific-paragraphs-categorization huggingface dataset:
JR is a participant in the  BIH-Charité Clinical Scientist Program  funded by the  Charité-Universitätsmedizin Berlin  and the  Berlin Institute of Health. This work was supported by the  Leibniz ScienceCampus Chronic Inflammation (chronischeentzuendung. org). Study funding Deutsche Gesellschaft für Muskelkranke e. V. (DGM)  to  J. R. Disclosure J. Radke  received research support from  Deutsche Gesellschaft für Muskelkranke. R. Koll  and  C. Preuße  report no disclosures. D. Pehl  received research support from  Deutsche Gesellschaft für Muskelkranke. K. Todorova ,  C. Schönemann ,  Y. Allenbach , and  E. Aronica  report no disclosures. M. de Visser  is on the editorial board of Neuromuscular Disorders,  Clinical Neurology , and Neurosurgery and is a member of the adjudication committee of  Bristol-Myers Squibb.
NoSQL databases are currently often considered for Big Data solutions as they offer efficient solutions for volume and velocity issues and can manage some of complex data (e. g. , documents, graphs). Fuzzy approaches are yet often not efficient on such frameworks. Thus this article introduces a novel approach to define and run approximate queries over NoSQL graph databases using Scala by proposing the Fuzzy4S framework and the Cypherf fuzzy declarative query language. NoSQL Graph databases are currently gaining more and more interest and are applied in many real world applications. The Fuzzy4S framework is defined with an open DSL (Domain Specific Language) allowing it to define scalable approximate queries at an abstract level. Cypherf is an extension of Cypher which runs over the Neo4J NoSQL graph databases.
Introduction Graphs are often a natural way to represent the world  [1]. This is especially true for social networks, but also in biology, chemistry etc. In such areas, Preprint submitted to Fuzzy Sets and Systems  July 28, 2017  *Manuscript relationships between objects are at least as important as the objects themselves. For example, retrieving "friend" and "friend of friend" relationships is a key 5 operation in social networks or in any other human relations. In  [2] , we have highlighted the power of the study of relations in order to retrieve fraud rings which are defined as sophisticated chains of indirect links between fraudsters representing successive transactions (money, communications, etc. ) from which rogue behaviours are detected. This has led to the development of the so-called NoSQL graph databases that embed both the performance of NoSQL databases and the representativity of graphs.
Several engines exist (OrientDB, Neo4J, HyperGraphDB etc. )  [3]. In 20 this article, Neo4J is used since it has been considered the top graph database management for several years 1  (Figure  1 ,  [4]   2  ). Such database management systems embed query processing that can be used at different levels, from the declarative level to the programmatic level within the engine. The Neo4J system offers the declarative Cypher language 25 that allows the users to query the graph in a very intuitive manner. These queries include clauses over both nodes and relationships. Properties can be defined in the same style that NoSQL databases i. e. with (key : value) lists. The value can be of any type, including collections. For instance, it is possible to consider nodes representing people having 30 some properties such as age (key = age, value = 28) or hobbies (key = hobby, In some cases, it is not relevant for users to define queries in a "crisp" way, as for instance to retrieve people having friends aged between 20 and 30 but they rather want to retrieve people even if their age is 31 and not strictly between For this reason, we consider approximate queries over such numerical properties.
Such queries can for instance be expressed using the fuzzy set theory framework. In our proposition we introduce Fuzzy4S, standing for Fuzzy for Scala. Scala is a modern language mixing object-oriented and functional pro-40 gramming  [5]. Fuzzy4S is used within NoSQL databases to define fuzzy queries by introducing the Cypherf framework (which stands for Cypher fuzzy). The rest of this article is organized as follows: Section 2 presents the preliminary concepts underlying our work: graph databases and approximate queries.
Graph Databases Graphs have been studied for a long time by mathematicians and computer scientists. A graph can be directed or not, labeled or not. Graph databases rely 60 on labeled directed graphs. Definition 1 (Labeled Directed Graph). A labeled oriented graph G, also known as oriented property graph, is given by a n-tuple (V, E, α, β, l V , l E ) where V stands for a set of nodes and E stands for a set of edges with E ⊆ (V × V ), α stands for the set of attributes defined over the nodes, β the set of attributes 65 defined over the relations, l V : V → P(α) is the labeling function for nodes and l E : E → P(β) is the labeling function for relationships. In such databases, α and β are not simple labels such as in labeled graphs. They are rather defined by (key, value) pairs commonly used by NoSQL databases  [6]  to represent the so-called properties over nodes and relations.
Fuzzy Queries The works on fuzzy databases have dealt with the various topics: entity-160 relationship models, functional dependencies, relational models, object databases, queries, etc. We focus here on fuzzy queries over classical databases. In  [11, 12, 13]  querying regular databases is considered by extending the SQL language. The FSQL/SQLf and FQL languages have been proposed to extend queries over relational databases in order to incorporate fuzzy descriptions of 165 the information being searched for. In such systems, approximation is basically associated to fuzzy labels, fuzzy comparators (e. g. , fuzzy greater than) and aggregation over clauses. Thresholds can be defined for the expected fulfillment of fuzzy clauses. For instance, when considering a database containing crisp descriptions of 170 hotels, users can ask for cheap hotels that are close to city center, cheap and close_to_city_center being fuzzy labels described by fuzzy sets and their membership functions respectively defined on the universe of prices and distance to the city center.
For instance, SQLf allows to integrate fuzzy predicates within the W HERE 175 clause of an SQL query: Listing 2: SQLf Query 1 S E L E C T * 2 F R O M T a b l e _ H o t e l 3 W H E R E P r i c e i s c h e a p ; 180 Some works have been implemented as fuzzy database engines with fuzzy querying features  [14, 15]. Many works have been proposed to investigate how such fuzzy predicates can be defined by users and computed by the database engine, especially when 185 several clauses must be merged. For instance, for retrieving a hotel that is both cheap AND close to city center, the membership degrees are aggregated with a t-norm. Such aggregation can consider preferences, for instance for queries where price is preferred to distance to city center using weighted t-norms.
190 Thresholds can be added when searching for hotels where the cheap degree is greater than 0. 7 for instance. More detailed definitions of the formalism are provided in the next section. As we consider graph data, the works on fuzzy ontology querying are very close and relevant  [16, 17]. f-SPARQL provides a flexible extension for SPARQL 195 by allowing users to apply fuzzy filters and fuzzy operators. Figure  3  shows the syntax of this extension. However, no model has been proposed for NoSQL graph databases. We thus propose to extend our first work  [18]  for defining approximate queries over NoSQL graph databases, as described in the next section. This section addresses fuzzy queries over regular NoSQL Neo4J graph databases. We claim that fuzziness can be handled at the following three levels: over nodes, 205 over properties, and over relationships.
Cypherf over Properties 280 Dealing with fuzzy queries over properties leads to the consideration of fuzzy linguistic terms and/or fuzzy comparators. In the W HERE clause, it is then possible to search for cheap hotels in some 285 databases, or for hotels located close to city center. Note that the properties being considered can be defined at the node and relationship levels. Listing 4: Cheap Hotels 1 MATCH ( h : H o t e l ) 2 WHERE C H E A P ( p r i c e ) > 0 290 3 RETURN h 4 O R D E R B Y C H E A P ( h ) DESC Listing 5: Hotels Close to City Center 1 MATCH ( c : C i t y )< -[ : L O C A T E D ] -(h : H o t e l ) 295 2 WHERE C L O S E ( c , h ) > 0 3 RETURN h 4 O R D E R B Y C L O S E ( c , h ) DESC In the M AT CH clause, integrating fuzzy criteria are also possible: 300 13 Listing 6: Matching Hotels Close to City Center 1 MATCH ( h : H o t e l ) -[ : L O C A T E D { C L O S E ( d i s t a n c e )>0 } ] -> ( c : C i t y ) 2 RETURN h 3 O R D E R B Y C L O S E ( h , c ) DESC 305 To offer this possibility we have added the concept of fuzzy criterion to Cypher and we have extended its grammar.
Architecture There are several ways to implement fuzzy Cypher queries: 410 1. Creating an overlay language on top of the Cypher language that will produce well formatted queries expressed as Cypher statements to do fuzzy computations; 2. Extending the Cypher queries and using the existing low level API behind; 3. Extending the low level API with optimized functions only available to 415 advanced users with development skills; 4. Combining the last two possibilities: using an extended Cypher query language over an enhanced low level API. Every possibility is debated in this section and a synthesis is then provided. A grammar must be defined for this external DSL which can rely on the existing Cypher syntax and only enhance it with new fuzzy features. The output of the generation process is pure Cypher code.
Concept We propose to extend the Cypher language in order to add new features. Cypher offers various types of functions: scalar functions, collection functions, predicate functions, mathematical functions etc. To enhance this language with fuzzy features, we propose to add a new type of function: fuzzy functions. Fuzzy 450 functions are used in the same way as other functions of Cypher (or SQL). Cypher is an external DSL, which requires to be parsed. The query correctness must be checked and then it has to be executed. In Cypher the execution consists of retrieving the results from the query using the corresponding graph traversal.
455 The Neo4J's grammar provides the guidelines of how the language is supposed to be structured and what is and is not valid. In order to implement this solution, the Cypher grammar must be extended regarding the current grammar parser. Cypher uses the Scala Parser Combinator library (that will be covered in more details in Section 4) as parsing engine. Once the Cypher query 460 is parsed, the code has to be bound on the current programmatic API to achieve the desired result.
Discussion This work requires a deep understanding of the Neo4J engine and more knowledge of Java/Scala programming language (used to write the Neo4J engine 465 and API) than the previous solution. The main advantage of this solution is to offer an easy and user-friendly way to use the fuzzy feature. The disadvantages of this solution are: • Performance issue. This solution should have better performance than the previous one. However, it is still built on the current Neo4J engine API 470 that is not optimized for fuzzy queries (e. g. degree computing); • Cost of maintenance. Until Neo4J accepts to merge this contribution to the Neo4J project, it will be required to upgrade every new version of Neo4J with these enhancements. Every new version of Neo4j can make some breaking changes such as API changes.
Cypher: an External Domain Specific Language As said before, Cypher is an external Domain Specific Language for express-540 ing queries on NoSQL graph databases. A Domain Specific Language (DSL) is a language tailored to a specific application domain  [22]. DSLs are everywhere. Among the most popular are SQL for relational databases, Make for building softwares and CSS for styling description. The main advantages of DSLs are that they are expressive, concise and de-545 signed at a high level of abstraction. Moreover, during the development cycle, working on DSL is more scalable and tends to produce a higher payoff. The main disadvantages are that the language design is hard and that DSLs lead to performance issues. There are two main categories of Domain Specific Languages:.
555 • The second category is named "external" DSL. This type of DSL is language agnostic, meaning that it is independent from a language syntax. It can thus be implemented in any language. One of the strengths of this category of DSL is its expressiveness, as it is not limited to a general/host programming language. The main drawback is that such languages have 560 to be parsed to be manipulated. This requires the writing of a language parser or the use of a tool that uses a grammar to generate a parser for a specific language. For instance, AntLR  [23]  (ANother Tool for Language Recognition) can be considered for this task.
Fuzzy DSL 605 The fuzzy DSL is used to define membership functions and fuzzy linguistic variables. It is processed by an underlying fuzzy framework called "Fuzzy4S" that implements the fuzzy logic. Fuzzy4S has been developed explicitly as part of this new implementation but can be used separately in other projects. The 610 grammar of the fuzzy DSL is explained in the section 4. 2. 3 after the presentation of the Fuzzy4S framework and the introduction of some underlying concepts. In this section, some contribution about defining and using fuzzy queries in a graph database has been proposed. Several implementation scenarios have been discussed and two implementations confronted. Implementations are based on 615 an extension of the declarative graph database query language Cypher and the development of a low level engine that offers fuzzy features.
625 In this paper, we introduce Fuzzy4S which is a fuzzy logic framework written in Scala. Proposed as a library, it includes membership functions, t-norms and t-conorms  [10]. Upon this library, an open Domain Specific Language (DSL) has been built to define approximate queries at an abstract level. It relies on the IEC 61131 standard (IEC61131-7) that had been written for fuzzy control 630 programming and on jFuzzyLogic (a java fuzzy logic library)  [25, 26]. The need for such contributions in the fuzzy set framework has been highlighted in  [27]. The rest of this section introduces our Domain Specific Language and the underlying features.
Fuzzy4S Grammar Fuzzy4S can be manipulated directly (by using a Domain Specific Language based on a grammar that will be presented later in this section) or programmatically (by referencing objects and classes of the framework written in Scala). As written in  [28] , Scala is implemented as a translation to standard Java bytecode, 640 which implies that the Scala code can be used in Java. In the case of the Fuzzy4S DSL, the choice has been made to rely on external DSL which are more expressive than internal DSL. We have thus written a parser based on the concept of parsing expression grammar (PEG) which can be viewed as an extension of EBNF  [29]  and that is introduced below. the syntax of programming languages and protocols  [30]. As said in  [31] , the power of generative grammars to express ambiguity is crucial to their original purpose of modelling natural languages, but this very power makes it unnecessarily difficult both to express and to parse machineoriented languages using CFGs.
Epitomization We claim that fuzzification is a challenge for graph databases. Our contribution is to propose an extension of the Cypher language, one of the most widely 715 adopted graph database query language, to handle fuzzy queries. Our first implementation attempt required to create a new function for each usecase and context (e. g. , Cheap, Far, Cold, etc. ). Each function implementation has to be invocated by the use of a F unctionInvocation (in Cypher's EBNF grammar).
Data modelization and preliminary examples Hotel and city center can be modelized as shown in Figure  11. Using modelization from Figure  11 , finding hotels close to the city center of the town requires calculating the distance from the hotel to the center of the 760 city. The Euclidean distance between two points of the plane with Cartesian coordinates (x 1 , y 1 ) and (x 2 , y 2 ) is d = (x 2 -x 1 ) 2 + (y 2 -y 1 ) 2. Example 1. Calculate the Euclidean distance in a graph database using Cypher Listing 13: Calculate the euclidean distance between a hotel and the city center  Listing 13 specifies which node will be searched in the request, in this example all the nodes with label "Hotel" or label "Center". The WITH instruction manipulates the output before passing it to the rest of the query.
1045 In this article, we thus introduce the necessary frameworks to support approximate queries in NoSQL graph databases. Fuzzy4S provides a framework via a Domain Specific Language (DSL) to define approximate linguistic variables. This DSL can then be used for querying NoSQL graph databases with Cypherf which extends the existing declarative language to manage approxi-1050 mate queries. Our propositions have been tested, we also have shown that the overhead is low assessing the power of the primitives that have been introduced. This work opens up many research topics and possibilities. Regarding Big Data, many real-world applications and uses could be challenging for our approach. Fuzzy information may indeed be embedded within the data, especially 1055 in the (key; value) properties, as for instance Hotel h1 could be located at around 800 meters from the city center.
1060 In particular, further work may focus on the definition of complex operations in such a context of schema-less databases, as for instance the definition of the SimilarT o function on nodes that have to be compared while they may have disjoint sets of properties. Moreover, Fuzzy4S and Cypherf may be used to retrieve fuzzy linguistic 1065 summaries from large NoSQL databases. Such approaches require to apply complex queries and will better highlight the power of graph databases (e. g. , paths).
An open community works on the openCypher project4 that aims to deliver a full and open specification of Cypher and to evolve the language through the production and acceptance of CIPs (Cypher Improvement Proposals). Our work is part of this trend and aims to contribute with fuzzy extensions. EBNF Grammar Extract 1. Cypher requests are based on sequences of state-95 ments that are regular queries. Regular queries are based on single queries that can be combined through unions. Single queries are based on 9 possible clauses: Match, Unwind, Merge, Create, Set, Delete, Remove, With, Return. Cypher = [SP], Statement, [[SP], ';'], [SP] ;As shown here, Cypher is comprised of several distinct clauses:• MATCH: the graph pattern to match. The M AT CH clause is the primary way of getting data from the database into the current set of bindings by providing an example.
90120 An open community works on the openCypher project4 that aims to deliver a full and open specification of Cypher and to evolve the language through the production and acceptance of CIPs (Cypher Improvement Proposals). Our work is part of this trend and aims to contribute with fuzzy extensions. EBNF Grammar Extract 1. Cypher requests are based on sequences of state-95 ments that are regular queries. Regular queries are based on single queries that can be combined through unions. Single queries are based on 9 possible clauses: Match, Unwind, Merge, Create, Set, Delete, Remove, With, Return. Cypher = [SP], Statement, [[SP], ';'], [SP] ;As shown here, Cypher is comprised of several distinct clauses:• MATCH: the graph pattern to match. The M AT CH clause is the primary way of getting data from the database into the current set of bindings by providing an example.
Acknowledgements This study was partially supported by grants from  ECOS Sud (France)-MINCYT(Argentina) , reference  A15S01  and from  Laboratory of Excellence GR-Ex , reference  ANR-11-LABX-0051. Irene Marginedas Freixa  was funded by a research fellow from the  French Ministry of Higher Education, Research and Innovation (MESRI) , and from the  French Society of Haematology (SFH)   Martina Moras  is funded by the  European Union 's  Horizon 2020 research and innovation program  under the  Marie Skłodowska-Curie  grant agreement No. 665850  PJS, MFLD and CLA are career researchers from  CONICET , and were granted from  PIP459 ,  UBACYT 20020130100027  and  PICT 0327.
Parental RNAi (pRNAi) and larval/hatchling cuticle preparation: Tribolium pRNAi: dsRNA synthesis and parental RNAi were performed as described previously  (38; 39). dsRNAs were injected into female pupae or virgin adult females at a concentration of 1-3µg/µl. RNAi phenotypes were confirmed by injection of non-overlapping dsRNA fragments. First instar larval cuticles were cleared in Hoyer's medium/lactic acid (1:1) overnight at 60 °C. Cuticular autofluorescence was detected on a Zeiss Axiophot microscope. Z stacks and projections were created with a Zeiss ApoTome microscope using the Axiovision 4. 6. 3. SP1 Software. Colour images were taken by (ProgResC14) using the ProgResC141. 7. 3 software and maximum projection images were created from z stacks using the Analysis D software (Olympus). Oncopeltus pRNAi: dsRNA template was amplified from target gene fragments which had been cloned into either pCR-Topo (Qiagen) or pGEM (invitrogen), using T7 promoter-containing oligos, as described previously  (40).
For in-situ RNA probes, the second PCR was done using the complete T7 and SP6 promoter sequences and subsequently in-vitro transcription was performed to generate a digoxigenin-labeled antisense RNA probe with the appropriate polymerase. Amplicons that were cloned into pBluescript vector were amplified with T7 and T3-T7 primers for subsequent dsRNA synthesis or T7 and T3 primers for subsequent antisense RNA probe synthesis using either T3 or T7 RNA polymerase. The primer design was based on the RNAseq data (Tcas au5 prediction) for svb available on iBeetle-Base. For mlpt dsRNA and probe synthesis, a full-length mlpt cDNA cloned into pBluescript was obtained from Dr. Michael Schoppmeier. For ubr3, all primer pairs shown were used for dsRNA synthesis. All dsRNA fragments resulted in similarly strong knockdown phenotypes with very high penetrance.
The sim gRNA was used to target the sim sequence in the marker plasmid leading to its Cas9-induced linearization. This was followed by insertion of the linearized plasmid into one or more target sites in the svb genome. A successful knock-in of the marker plasmid was obtained only at gRNA target site 3. This insertion site was present in all svb transcripts and was also downstream from a putative second start codon, thus increasing the chances of obtaining a svb null phenotype. Acknowledgments: MIR would like to thank Ariel Chipman, Claude Desplan, and Igor Ulitksy for scientific support during the course of this work and for critical reading of the manuscript. Funding: MIR was funded by a Fulbright Postdoctoral Fellowship (US/Israel) and received funding from the European Union's Horizon 2020 research and innovation programme under the Marie Sklodowska-Curie grant agreement No 654719.
Projects were conceptualized and supervised by SR, MIR, HC-D, AK, MK and FP. The original draft of the manuscript was written by SR and MIR, and subsequently revised mainly by SR, MIR, HC-D, AK, MK and FP (all authors edited and read the final version). Experiments were planned and conducted by SR, MIR, HC-D, AD, BS, WT, TA, IS, MT and FP. Competing interests:The authors of this manuscript declare that they have no conflicts of interest. Data and materials availability:Sequences presented in this paper can be found in Genbank, with accession numbers as follows: Tcas Svb MG913606 Nvit mlpt MH181829 Nvit Svb MH181831 Nvit Ubr3 MH181828 Ofas mlpt MH181830 Ofas svb MH181832 Ofas Ubr3 MH 181827 Gbue Svb MH011417 Gbue mlpt MH011418 Gbue Ubr3 MH011418.