小编blu*_*ega的帖子

SQL多条件CTE递归

我在数据库中有每个标识符的以下2条信息.控制它们的公司,以及控制它们的公司.

沿线的东西,2个表(忽略一些唯一标识符):

组织

orgid | org_immediate_parent_orgid
1     | 2
2     | 2
3     | 1
5     | 4
Run Code Online (Sandbox Code Playgroud)

关系orgid - > org_immediate_parent_orgid意味着公司有父母.在我看来它只有相关的org_immediate_parent_orgid - > orgid公司的母公司作为子公司

org_affiliations

orgid | affiliated_orgid
2     | 3
2     | 5
4     | 1
1     | 5
Run Code Online (Sandbox Code Playgroud)

orgid - > affiliated_orgid是公司的附属机构

视觉表示应该是这样的:

数据库表示

关于组织的红色关系,蓝色关系org_affiliations.

如果想让2所有的所有公司(或2的子公司)拥有它们的一部分:

select m.org_immediate_parent_orgid
,m.orgid
from oa.organizations m
where m.org_immediate_parent_orgid is not null
start with m.orgid in (Identifiers)
connect by nocycle prior  m.orgid=m.org_immediate_parent_orgid
Run Code Online (Sandbox Code Playgroud)

回报

org_immediate_parent_orgid| orgid
1                         | 2
2 …
Run Code Online (Sandbox Code Playgroud)

sql recursion plsql recursive-query common-table-expression

11
推荐指数
1
解决办法
1187
查看次数

平行,但速度较慢

我正在使用monte carlo方法来计算pi,并使用并行编程和openmp进行基本体验

问题是,当我使用1个线程,x次迭代时,总是比n次线程,x次迭代运行得更快.谁能告诉我为什么?

例如,代码像"a.out 1 1000000"一样运行,其中1是线程,1000000是迭代

include <omp.h>
include <stdio.h>
include <stdlib.h>
include <iostream>
include <iomanip>
include <math.h>

using namespace std;

int main (int argc, char *argv[]) {

double arrow_area_circle, pi;
float xp, yp;
int i, n;
double pitg= atan(1.0)*4.0; //for pi error
cout << "Number processors: " << omp_get_num_procs() << endl;

//Number of divisions
iterarions=atoi(argv[2]); 
arrow_area_circle = 0.0;

#pragma omp parallel num_threads(atoi(argv[1]))
{
srandom(omp_get_thread_num());

#pragma omp for private(xp, yp) reduction(+:arrow_area_circle) //*,/,-,+
for (i = 0; i < iterarions; i++) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing multithreading pi openmp montecarlo

5
推荐指数
3
解决办法
2069
查看次数

Jena Sparql和构造

CONSTRUCT是一个替代的SPARQL结果子句SELECT.而不是返回结果值表,CONSTRUCT返回RDF图.例如,在以下Java代码中运行此查询会产生一个HttpException: 406 Unacceptable.但是,如果不是CONSTRUCT块,我选择SELECT ?x,它就好了.耶拿支持CONSTRUCT,如果支持,怎么样?这两个查询都可以被DBpedia端点接受.

PREFIX : <http://dbpedia.org/resource/>
PREFIX onto: <http://dbpedia.org/ontology/>

CONSTRUCT { 
    :France onto:anthem ?x
}

WHERE
{
  :France onto:anthem ?x .
}
Run Code Online (Sandbox Code Playgroud)
Query query = QueryFactory.create("the query goes here");
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",     query);
ResultSet results = qexec.execSelect();  
ResultSetFormatter.out(System.out, results, query);
Run Code Online (Sandbox Code Playgroud)

sparql jena dbpedia

4
推荐指数
1
解决办法
4657
查看次数