- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用时 CONSTRUCT
在 sparql 查询中,输出是 single RDF graph ,又名一组三元组,本质上是新数据。但总的来说,我已经考虑过 CONSTRUCT
是一种手动创建理论上应该可重用的规则的方法。
在 CONSTRUCT
的示例用法中,假设我想定义数据中尚未包含的内容。 Here's a good example taken from an article about CONSTRUCT .
@prefix : <http://some.site.com/ont#> .
:jane :hasParent :gene .
:gene :hasParent :pat ;
:gender :female .
:joan :hasParent :pat ;
:gender :female .
:pat :gender :male .
:mike :hasParent :joan .
PREFIX : <http://some.site.com/ont#>
CONSTRUCT { ?p :hasGrandfather ?g . }
WHERE {?p :hasParent ?parent .
?parent :hasParent ?g .
?g :gender :male .
}
@prefix : <http://some.site.com/ont#> .
:jane :hasGrandfather :pat .
:mike :hasGrandfather :pat .
CONSTRUCT
查询,这是否意味着我必须获取该数据,并将其输入回数据库才能开始使用/重用
:hasGrandfather
?或者我可以像引用 SQL 中的动态表一样引用生成的 RDF 图吗?
CONSTRUCT
生成的三元组进行交互? ?
最佳答案
如果您使用的是 SPARQL 1.1,并且您正在查询一个三元组,您通常会使用 INSERT 将这些三元组添加到存储中(到同一个图或不同的图)。查看来自 SPARQL 1.1 Update 的第 3.1 节:
3.1 Graph Update
Graph update operations change existing graphs in the Graph Store but do not explicitly delete nor create them. Non-empty inserts into non-existing graphs will, however, implicitly create those graphs, i.e., an implementation fulfilling an update request should silently an automatically create graphs that do not exist before triples are inserted into them, and must return with failure if it fails to do so for any reason. (For example, the implementation may have insufficient resources, or an implementation may only provide an update service over a fixed set of graphs and the implicitly created graph is not within this fixed set). An implementation may remove graphs that are left empty after triples are removed from them.
SPARQL 1.1 Update provides these graph update operations: …
- The fundamental pattern-based actions for graph updates are INSERT and DELETE (which can co-occur in a single DELETE/INSERT operation). These actions consist of groups of triples to be deleted and groups of triples to be added. The specification of the triples is based on query patterns. The difference between INSERT / DELETE and INSERT DATA / DELETE DATA is that INSERT DATA and DELETE DATA do not substitute bindings into a template from a pattern. The DATA forms require concrete data (triple templates containing variables within DELETE DATA and INSERT DATA operations are disallowed and blank nodes are disallowed within DELETE DATA, see Notes 8+9 in the grammar). Having specific operations for concrete data means that a request can be streamed so that large, pure-data updates can be done.
Example 8:
This example copies triples from one named graph to another named graph based on a pattern:
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
INSERT
{ GRAPH <http://example/bookStore2> { ?book ?p ?v } }
WHERE
{ GRAPH <http://example/bookStore>
{ ?book dc:date ?date .
FILTER ( ?date > "1970-01-01T00:00:00-02:00"^^xsd:dateTime )
?book ?p ?v
} }
关于rdf - CONSTRUCT 子句的实际使用(和重用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464503/
按照此页面上的教程:https://cdkworkshop.com/20-typescript/40-hit-counter/300-resources.html 我相信this ,传递给 Table
据我所知std::allocator::construct在旧版本的 C++ 上仅需要两个参数;第一个是指向原始的、未构造的内存的指针,我们要在其中构造 T 类型的对象。第二个是用于初始化该对象的元素
我正在阅读 CanJS API 文档并遇到 can.Construct.extend http://canjs.com/docs/can.Construct.extend.html .我知道 can.
考虑 struct C { C() { printf("C::C()\n" ); } C(int) { printf("C::C(i
阅读 git repo 中截取的以下代码时遇到一些问题。链接到存储库和问题: https://github.com/paolo-sz/fatty/blob/master/src/winmain.c#L
除了将一种高级语言转换为另一种高级语言的编译器之外,任何编译为机器代码的编译器都需要用汇编编写吗? 最佳答案 编译器的源代码不需要用汇编语言编写。例如,CPython 编译器(好吧,技术上解释器)的(
我正在努力计算 worklist算法,我不想实现迭代算法,因为它需要很多冗余步骤。 我用来计算实时变量工作列表的算法如下 任何人都可以为下面给出的示例向我解释一下,初始工作列表是什么以及工作列表算法将
我有这部分语法 S ‐> S a | S b a | a | S b c S | S b c b | c S | c b 我需要使用它来创建一些 SD 集,然后在解析表上使用它。 但是,在此之前,我应
是否有人引用了有关着色器编译器/图形驱动程序编译器内部工作原理的文档和研究? 最佳答案 编写一个普通的 C 编译器和编写一个着色器编译器没有太大的区别。编写编译器的标准书是所谓的“龙书”: http:
请问有没有人能给我解释一下句法导向的切线线性码和伴随码的区别。 它与使用编译器推导代码有关。 我知道它们是在程序中推导数学方程式的不同方法,但是,我不知道如何解释它们。 提前致谢。 问候。 最佳答案
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 7年前关闭。 Improve this questi
在编译器数据流分析中,变量的有效范围与其达到定义之间有什么区别?两者似乎都指的是同一件事... 最佳答案 它们是完全不同的东西,我建议您回过头来重新阅读那些使您感到困惑的定义。除其他事项外,对于使用给
我目前正在为一种非常有限的面向对象语言开发编译器。我想将所有值视为对象,这些值上的运算符将作为方法实现。编译器将程序转换为基于堆栈的虚拟机的汇编程序。 在编译期间,我将整数文字转换为特殊“整数”类的对
给定抽象语法树,我被要求编写一个程序来构建输入程序代码的数据流图。我在网上搜索数据流图的定义,发现一个代码段的数据流分析有很多事情要做。我想知道为给定代码构建数据流图到底需要绘制什么。很感谢任何形式的
一些随机的想法捕获了我,我就是无法摆脱它。我在想,既然现代处理器只是不同种类汇编语言的解释器,那么有没有办法创建一些直接在硬件中实现的高级语言解释器,使用一些 HDL 甚至直接使用逻辑门设计? 同时我
出现在代码生成的寄存器分配阶段的寄存器溢出或溢出代码是什么意思,编译器后端必须将变量分配到内存或寄存器? 最佳答案 Hardware registers是昂贵的(在芯片面积和寻址它们所需的指令位数方面
如果您的 bootstrap 语言编译器运行良好且可维护,为什么要更改它?例如,Go 在 1.5 版本中将其编译器重新编写为自托管,导致 compile times to become much sl
我在 Python Lisp 编译器和一些 C 链接器的源代码中看到了这个术语。 我的猜测是,修复只是 assembly 例程的一些包装,可确保对齐正确,但我对这里的任何事情都不确定。 最佳答案 “修
我对 VM 在运行时和编译时的优化感兴趣。我认为优化在编译时是最有效和最简单的。 然而,我的想法在某些情况下似乎是错误的。这在 Steve Yeggie's statement quoted by D
如果您正在构建一个编译器,那么在 AST 级别进行哪种优化是最好的? 最佳答案 大多数情况下,您无法在 AST 级别进行有趣的优化,因为您需要有关数据如何从程序的一个部分流向另一部分的信息。虽然数据流
我是一名优秀的程序员,十分优秀!