Any help guys .
On Thu, Nov 7, 2013 at 9:51 PM, Adeeb Noor <[email protected]> wrote: > Here is the new version of the code using > QueryExecution.execConstructTriples: > > FileLoader fileLoader = new FileLoader("src/aaCONSTRUCT.tql"); > > String q = fileLoader.loadAll(); > > Query query = QueryFactory.create(q) ; > > QueryExecution qexec = QueryExecutionFactory.create(query, data.tdb); > > Iterator<Triple> ti = qexec.execConstructTriples(); > > StmtIterator si = ModelUtils.triplesToStatements(ti, data.tdb); > > *Now I am trying to add the result of construct in new TDB.* > > System.out.println(" ... Add new TDB ..."); > > inferredData.tdb.add(si); > > System.out.println(" ... RDF ..."); > > inferredData.exportRDF(); > > inferredData.close(); > > My problem is that when I do inferredData.tdb.add(si); to save the result > in new TDB (inferredData) the program keeps running for ever and the TDB > size never change 201 MB. > > AM I doing something wrong here ? > > Thanks > > > > > On Thu, Nov 7, 2013 at 6:57 AM, Andy Seaborne <[email protected]> wrote: > >> On 07/11/13 02:55, Adeeb Noor wrote: >> >>> >>> On Wed, Nov 6, 2013 at 5:23 AM, Andy Seaborne <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> On 06/11/13 00:31, Adeeb Noor wrote: >>> >>> Any help with my question please. >>> >>> AdeeB >>> >>> >>> On Mon, Nov 4, 2013 at 1:48 PM, Adeeb Noor >>> <[email protected] <mailto:[email protected]>> >>> wrote: >>> >>> Hi Andy: >>> >>> Thanks for the response. >>> >>> My TDB is on my hard drive with 15GB size wise. >>> >>> >>> How many triples? >>> >>> >>> *The number of triples is: 37397456* >>> >>> >>> >>> And how much of the DB does the SELECT query match? >>> >>> What's SELECT (count(*) AS ?c) .... >>> What's SELECT (count(distinct *) AS ?c) .... >>> >> >> No response? >> >> This is asking what proportion of the DB is being extracted. >> >> On the current information, I'd guess the system starts swapping due to a >> large construct graph but that's just a guess. >> >> Streaming the execConstructTriples to a disk file may help. >> >> >> >> >>> >>> *Here is the SELECT I want to apply to generate my subgraph:* >>> >> >> Long, incomplete query. >> >> Try reordering the FILTERs putting the || ones last. May make no >> difference but without sizing figures, only you can know. >> >> Andy >> >> >>> CONSTRUCT >>> >>> { >>> >>> ddidd:C0004057 ?r ?disease1 . >>> >>> ?disease1 ?r10 ddidd:C0004057 . >>> >>> ?disease1 ?r1 ?omim1 . >>> >>> ?omim1 ?r11 ?disease1 . >>> >>> ?omim1 ?r2 ?w . >>> >>> ?w ?r12 ?omim1 . >>> >>> ?omim1 ?r3 ?bp . >>> >>> ?bp ?r13 ?omim1 . >>> >>> ?omim1 ?r4 ?genotypePhenotype . >>> >>> ?genotypePhenotype ?r14 ?omim1 . >>> >>> ?omim1 ?r5 ?gene. >>> >>> ?gene ?r15 ?omim1 . >>> >>> ?w ?r6 ?gene2. >>> >>> ?gene2 ?r16 ?w . >>> >>> ?omim1 ?r7 ?gene3 . >>> >>> ?gene3 ?r17 ?omim1. >>> >>> ?gene3 ?r8 ?bp2 . >>> >>> ?bp2 ?r18 ?gene3 . >>> >>> ?gene3 ?r9 ?genotypePhenotype2 . >>> >>> ?genotypePhenotype2 ?r19 ?gene3 . >>> >>> ?gene a ?gCLASS. >>> >>> ?gene2 a ?g2CLASS. >>> >>> ?gene3 a ?g3CLASS. >>> >>> ?genotypePhenotype a ?genotypePhenotypeCLASS . >>> >>> ?genotypePhenotype2 a ?genotypePhenotype2CLASS. >>> >>> ?w a ?wCLASS . >>> >>> ?omim1 a ?omimt1 . >>> >>> ?bp a ?bpCLASS . >>> >>> ?bp2 a ?bp2CLASS . >>> >>> ddidd:C0004057 ddids:label ?ldrug1 . >>> >>> ?disease1 ddids:label ?ldisease1 . >>> >>> ?omim1 ddids:label ?lomim1 . >>> >>> ?w ddids:label ?lw . >>> >>> ?bp ddids:label ?lbp . >>> >>> ?genotypePhenotype ddids:label ?lgenotypePhenotype . >>> >>> ?gene ddids:label ?lgene . >>> >>> ?gene2 ddids:label ?lgene2 . >>> >>> ?gene3 ddids:label ?lgene3 . >>> >>> ?bp2 ddids:label ?lbp2 . >>> >>> ?genotypePhenotype2 ddids:label ?lgenotypePhenotype2 . >>> >>> }WHERE{ >>> >>> ddidd:C0004057 ?r ?disease1 . >>> >>> ?disease1 ?r10 ddidd:C0004057 . >>> >>> ?disease1 ?r1 ?omim1 . >>> >>> ?omim1 ?r11 ?disease1 . >>> >>> ?omim1 ?r2 ?w . >>> >>> ?w ?r12 ?omim1 . >>> >>> ?omim1 ?r3 ?bp . >>> >>> ?bp ?r13 ?omim1 . >>> >>> ?omim1 ?r4 ?genotypePhenotype . >>> >>> ?genotypePhenotype ?r14 ?omim1 . >>> >>> ?omim1 ?r5 ?gene. >>> >>> ?gene ?r15 ?omim1 . >>> >>> ?w ?r6 ?gene2. >>> >>> ?gene2 ?r16 ?w . >>> >>> ?omim1 ?r7 ?gene3 . >>> >>> ?gene3 ?r17 ?omim1. >>> >>> ?gene3 ?r8 ?bp2 . >>> >>> ?bp2 ?r18 ?gene3 . >>> >>> ?gene3 ?r9 ?genotypePhenotype2 . >>> >>> ?genotypePhenotype2 ?r19 ?gene3 . >>> >>> ?gene a ?gCLASS. >>> >>> ?gene2 a ?g2CLASS. >>> >>> ?gene3 a ?g3CLASS. >>> >>> ?genotypePhenotype a ?genotypePhenotypeCLASS . >>> >>> ?genotypePhenotype2 a ?genotypePhenotype2CLASS. >>> >>> ?w a ?wCLASS . >>> >>> ?omim1 a ?omimt1 . >>> >>> ?bp a ?bpCLASS . >>> >>> ?bp2 a ?bp2CLASS . >>> >>> ddidd:C0004057 ddids:label ?ldrug1 . >>> >>> ?disease1 ddids:label ?ldisease1 . >>> >>> ?omim1 ddids:label ?lomim1 . >>> >>> ?w ddids:label ?lw . >>> >>> ?bp ddids:label ?lbp . >>> >>> ?genotypePhenotype ddids:label ?lgenotypePhenotype . >>> >>> ?gene ddids:label ?lgene . >>> >>> ?gene2 ddids:label ?lgene2 . >>> >>> ?gene3 ddids:label ?lgene3 . >>> >>> ?bp2 ddids:label ?lbp2 . >>> >>> ?genotypePhenotype2 ddids:label ?lgenotypePhenotype2 . >>> >>> >>> FILTER ( ?r = ddids:may_treat || ?r = ddids:may_prevent ) >>> >>> FILTER (?omimt1 = ddids:gene || ?omimt1 = ddids:genotypePhenotype ) >>> >>> FILTER (?wCLASS = ddids:pathway || ?r2 = ddids:gene_is_element_in_pathway >>> ) >>> >>> FILTER (?bpCLASS = ddids:biologicalProcess ) >>> >>> FILTER (?bp2CLASS = ddids:biologicalProcess ) >>> >>> FILTER (?genotypePhenotypeCLASS = ddids:genotypePhenotype ) >>> >>> FILTER (?genotypePhenotype2CLASS = ddids:genotypePhenotype ) >>> >>> FILTER (?gCLASS = ddids:gene ) >>> >>> FILTER (?g2CLASS = ddids:gene ) >>> >>> FILTER (?g3CLASS = ddids:gene ) >>> >>> } >>> >>> >>> We still know little about your setup. >>> >>> >>> >>> and my PC is Mac Pro with >>> 2.4 GHZ and 4GB of memory. >>> >>> >>> Java 32 bit or 64 bit? >>> >>> >>> *java version "1.6.0_65"* >>> *Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)* >>> *Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)* >>> >>> >>> >>> >>> I was not able to use QueryExecution.__execConstructTriples >>> as >>> >>> it returnees an iterator and I want to save the subgraph >>> into a new TDB . >>> >>> >>> Why is that a problem? Add them to a TDB database. >>> >>> >>> * I will try it and let you know. * >>> >>> >>> >>> Or even use a SPARQL Update operation. >>> >>> >>> *SPARQL update if I am not wrong will not work in my case as I want to >>> >>> create a subgraph from the whole data and store it in a new TDB. We can >>> use only the SPARQL update if we can add data on the original TDB; AM I >>> right ? * >>> >>> ** >>> >>> >>> >>> >>> Here is my code below: >>> >>> FileLoader fileLoader = new >>> FileLoader("src/DDICONSTRUCT.__tql"); >>> >>> >>> String q = fileLoader.loadAll(); >>> >>> Query query = QueryFactory.create(q) ; >>> >>> QueryExecution qexec = >>> QueryExecutionFactory.create(__query, data.tdb); >>> >>> >>> >>> Model constructModel = qexec.execConstruct(); >>> >>> >>> The program has been running for almost a day now, let me >>> know if there is >>> something wrong or if there is an alternative to CONSTRUCT >>> thing. >>> >>> >>> >>> On Sun, Nov 3, 2013 at 12:59 PM, Andy Seaborne >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> On 03/11/13 07:05, Adeeb Noor wrote: >>> >>> Hi Andy: >>> >>> I did figure it out, however it takes to much time >>> (CONSTRUCT) to finish >>> as >>> my query is complex. Is that something normal ? in >>> fact, it is still >>> running >>> >>> >>> Hard to tell - it depends on many factors such as >>> machine setup, where >>> the data is stored, structure and volume of your data >>> >>> Try >>> >>> QueryExecution.__execConstructTriples >>> >>> >>> Andy >>> >>> >>> >>> AdeeB >>> >>> >>> On Sat, Nov 2, 2013 at 9:56 AM, Adeeb Noor >>> <[email protected] >>> <mailto:[email protected]>> >>> >>> wrote: >>> >>> Hi Andy: >>> >>> >>> Thanks for the quick response. I tried CONSTRUCT >>> and it did work out. >>> But >>> how can I reformat such a query to CONSTRUCT one: >>> >>> SELECT DISTINCT * >>> >>> { >>> >>> ?ddi ddids:has_association ?c . >>> >>> ?ddi ddids:has_association ?c2 . >>> >>> ?c ddids:chemical_or_drug___affects_gene_product >>> ?omim . >>> >>> ?omim ddids:gene_product_encoded_by___gene ?g . >>> >>> ?g ddids:gene_plays_role_in___process ?w . >>> >>> ?g ddids:gene_plays_role_in___process ?bp . >>> >>> >>> ?bp ddids:process_involves_gene ?g2 . >>> >>> ?g2 ddids:gene_plays_role_in___process ?bp2 . >>> >>> >>> >>> where I need each variable ( for example ?w, ?bp >>> , etc) to be a new >>> resources. >>> >>> Thanks >>> >>> >>> On Sat, Nov 2, 2013 at 6:41 AM, Andy Seaborne >>> <[email protected] <mailto:[email protected]>> >>> wrote: >>> >>> You need to use a CONSTRUCT query, not a >>> SELECT one. >>> >>> >>> outputAsRDF encodes the result set (i.e. the >>> table) as RDF - it is not >>> the datamodel of the original data. >>> >>> CONSTRUCT allows you to create one RDF graph >>> from data from another. >>> >>> See also SPARQL Update for doign that from >>> one graph to another in the >>> same database. >>> >>> Andy >>> >>> >>> On 02/11/13 05:35, Adeeb Noor wrote: >>> >>> Hi guys: >>> >>> >>> I would like to save my SPARQL result >>> coming from ResultSet into new >>> rdf. >>> (new rdf resources) cause I want to do >>> more work on this subgraph and >>> it >>> has to be in the original rdf format. >>> >>> I tried outputAsRDF function and it >>> worked however the result I got >>> the >>> following: >>> >>> <rdf:Description rdf:nodeID="A5"> >>> <rs:value rdf:resource=" >>> https://csel.cs.colorado.edu/~ >>> __noor/Drug_Disease_ontology/ >>> <https://csel.cs.colorado.edu/ >>> ~noor/Drug_Disease_ontology/> >>> DDID.owl#genotypePhenotype >>> "/> >>> <rs:variable>omimt</rs:__ >>> variable> >>> >>> </rdf:Description> >>> <rdf:Description rdf:nodeID="A6"> >>> <rs:value rdf:resource=" >>> https://csel.cs.colorado.edu/~ >>> __noor/Drug_Disease_ontology/ >>> >>> <https://csel.cs.colorado.edu/ >>> ~noor/Drug_Disease_ontology/> >>> DDID.rdf#C0007589 >>> "/> >>> <rs:variable>w</rs:variable> >>> </rdf:Description> >>> <rdf:Description rdf:nodeID="A7"> >>> <rs:binding rdf:nodeID="A8"/> >>> <rs:binding rdf:nodeID="A9"/> >>> <rs:binding rdf:nodeID="A10"/> >>> <rs:binding rdf:nodeID="A11"/> >>> <rs:binding rdf:nodeID="A12"/> >>> <rs:binding rdf:nodeID="A13"/> >>> <rs:binding rdf:nodeID="A14"/> >>> <rs:binding rdf:nodeID="A15"/> >>> <rs:binding rdf:nodeID="A16"/> >>> <rs:binding rdf:nodeID="A17"/> >>> <rs:binding rdf:nodeID="A18"/> >>> <rs:binding rdf:nodeID="A19"/> >>> <rs:binding rdf:nodeID="A20"/> >>> <rs:binding rdf:nodeID="A21"/> >>> <rs:binding rdf:nodeID="A22"/> >>> <rs:binding rdf:nodeID="A23"/> >>> <rs:binding rdf:nodeID="A24"/> >>> <rs:binding rdf:nodeID="A25"/> >>> <rs:binding rdf:nodeID="A26"/> >>> <rs:binding rdf:nodeID="A27"/> >>> </rdf:Description> >>> >>> how I can remove this nodes things and >>> make it something like: >>> >>> <rdf:Description rdf:about=" >>> https://csel.cs.colorado.edu/~ >>> __noor/Drug_Disease_ontology/ >>> >>> <https://csel.cs.colorado.edu/ >>> ~noor/Drug_Disease_ontology/> >>> DDID.rdf#C3229174"> >>> <j.0:label>Cytra-K Oral >>> Product</j.0:label> >>> <rdf:type rdf:resource=" >>> https://csel.cs.colorado.edu/~ >>> __noor/Drug_Disease_ontology/ >>> >>> <https://csel.cs.colorado.edu/ >>> ~noor/Drug_Disease_ontology/> >>> DDID.owl#chemical >>> "/> >>> </rdf:Description> >>> >>> please help me out >>> >>> >>> >>> >>> >>> -- >>> Adeeb Noor >>> Ph.D. Candidate >>> Dept of Computer Science >>> University of Colorado at Boulder >>> Cell: 571-484-3303 <tel:571-484-3303> >>> Email: [email protected] >>> <mailto:[email protected]> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> Adeeb Noor >>> Ph.D. Candidate >>> Dept of Computer Science >>> University of Colorado at Boulder >>> Cell: 571-484-3303 <tel:571-484-3303> >>> Email: [email protected] <mailto:Adeeb.noor@colorado. >>> edu> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> Adeeb Noor >>> Ph.D. Candidate >>> Dept of Computer Science >>> University of Colorado at Boulder >>> Cell: 571-484-3303 >>> Email: [email protected] <mailto:[email protected]> >>> >> >> > > > -- > Adeeb Noor > Ph.D. Candidate > Dept of Computer Science > University of Colorado at Boulder > Cell: 571-484-3303 > Email: [email protected] > -- Adeeb Noor Ph.D. Candidate Dept of Computer Science University of Colorado at Boulder Cell: 571-484-3303 Email: [email protected]
