我正在编写一个SPARQL查询,该查询应删除此资源中的所有三元组。
In [91]: arr = np.random.rand(2**14) + 1j *np.random.rand(2**14)
...: float_value = 0.5
...:
In [92]: %timeit np.exp(float_value * arr)
1000 loops, best of 3: 739 µs per loop
In [94]: import numexpr as ne
In [95]: %timeit ne.evaluate('exp(float_value*arr)')
1000 loops, best of 3: 241 µs per loop
我试过了:
prefix oslc: <http://open-services.net/ns/core#>
prefix example: <http://rdf.company.com/ns/something/net#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix dcterms: <http://purl.org/dc/terms/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
example:Resource2
a oslc:ResourceShape ;
oslc:describes example:Resource2 ;
oslc:property [ a oslc:Property ;
oslc:isMemberProperty true ;
oslc:name "pgn" ;
oslc:occurs oslc:Zero-or-one ;
oslc:valueType xsd:integer ] ;
dcterms:title "Resource2"^^rdf:XMLLiteral .
但是,id不会删除其中的空白节点:
DELETE
{ ?s ?p ?o }
WHERE
{
?s ?p ?o .
FILTER ( ?s IN ( <http://rdf.company.com/ns/something/net#Resource2>))
}
很明显,因为过滤器指定了特定主题,而空白节点没有该主题。
我知道如何删除空白节点?
答案 0 :(得分:0)
我希望你没有嵌套的空白节点。试试这个:
PREFIX example: <http://rdf.company.com/ns/something/net#>
DELETE {
?s ?p ?o .
?o ?p1 ?o1 .
}
WHERE {
VALUES (?s) { (example:Resource2) }
?s ?p ?o .
OPTIONAL {
?o ?p1 ?o1 .
FILTER (isBlank(?o))
}
}