问题标签 [easyrdf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - JSON-LD 总是将单个对象构建为数组
有没有办法总是用 EasyRdf 强制单个对象到数组中?
如果有多个值,rdf:type
我得到一个像这样的数组。请注意,该@type
属性是一个数组。
但是,如果只有一个rdf:type
,则该@type
属性不是数组。
序列化图形时,我将选项发送给 EasyRdf
有没有办法发送/属性的@set
选项?rdf:type
@type
php - 如何在 PHP 中本地使用 EasyRdf 执行 SPARQL Select 查询?
我在 URL http://mystore.com/data1上有 JSON-LD 数据。我想在 PHP 中执行 SPARQL SELECT 查询。
这是我的代码:
上面的代码显示了所有 JSON-LD 三元组,而不是基于查询的过滤数据。
阅读文档后,我有疑问。
在我发送数据 URL 时,EasyRdf_Sparql_Client 中的上述代码参数应该是 Sparql Endpoint。我做对了吗?我认为 Sparql Endpoint 是我在参考这个标准示例后推断的 SPARQL 查询引擎,它有 dbpedia url,它是 Virtuoso SPARQL 查询编辑器。我想在我的本地/远程 JSON-LD 数据上运行 SPARQL SELECT。如何在php中做到这一点?
lucene - 2 个数据集 + 文本索引的 Fuseki 配置:如何使用海龟文件?
我是 fuseki 的新手,想为我们的项目使用 2 个 TDB 数据集:一个小的用于我们自己的数据,一个大的(168 M 三元组,从http://data.bnf.fr导入数据)。
我们需要索引数据,因为使用“FILTER(CONTAINS())”的 SPARQL 查询不适用于大型数据集(“BnF_text”)。因此,我为“BnF_text”建立了一个文本索引,遵循这篇文章:Fuseki indexed (Lucene) text search returns no results(但我必须修改海龟配置文件才能text:query
正常工作)。
它可以工作,但我遇到了一个奇怪的“BnF_text”问题:有时,相同的查询会返回超时,而且我在 fuseki 日志和 apache 日志中都看不到 find 错误。
~~~~~~~ 这是我的问题:~~~~~~~
- 我的配置文件有问题吗?
- 2 个数据集共存会影响性能吗?
~~~~~~~ 下面是我的安装细节:~~~~~~~
- 修改了脚本中的 Java 内存限制
fuseki-server
:设置为--Xmx4000M
. - SPARQL 查询通过 PHP EasyRDF 库发送
- 我有 2 个配置文件:
$FUSEKI_PATH/text_config.ttl
+$FUSEKI_PATH/run/configuration/MY_DATASET.ttl
- 我用这个命令运行 fuseki-server :
./fuseki-server --config text_config.ttl
配置文件
1) text_config.ttl
2) MY_DATASET.ttl
提前致谢
mapping - 如何使用已经映射到关系数据库的本体构建 PHP 网页
这是我第一次为语义网构建。
我不确定如何创建一个 PHP 网页并将其连接到我已使用 Protege 的 Ontop 插件映射到关系数据库的本体。
数据库变成rdfstore了吗?
我曾尝试使用 EasyRdf 库将 PHP 连接到本体,但它不起作用。
这是我尝试过的php代码。
php - PHP 中的 Jena Fuseki SPARQL INSERT (EasyRDF lib)
我正在尝试使用 Apache Jena Fuseki 运行 EasyRDF 库中的示例代码,但是在将数据输入数据库时出现以下错误:
致命错误:未捕获的异常 'EasyRdf_Exception' 带有消息 'HTTP 请求 http:// localhost:3030/test/update?graph=http%3A%2F%2Flocalhost%3A3030%2Ftest%2Ftime.rdf 失败:必须是 application/sparql -update 或 application/x-www-form-urlencoded (got application/n-triples)' 在 D:\Files\xampp\htdocs\test\easyrdf-0.9.0\lib\EasyRdf\GraphStore.php:152 堆栈跟踪: #0 D:\Files\xampp\htdocs\test\easyrdf-0.9.0\lib\EasyRdf\GraphStore.php(217): EasyRdf_GraphStore->sendGraph('POST', Object(EasyRdf_Graph), 'time.rdf' , 'ntriples') #1 D:\Files\xampp\htdocs\test\graphstore.php(34): EasyRdf_GraphStore->insert(Object(EasyRdf_Graph), 'time.rdf') #2 {main} 在 D 中抛出: \Files\xampp\htdocs\test\easyrdf-0.9.0\lib\EasyRdf\GraphStore.php 在第 152 行
按照代码:
谢谢。
sparql - PHP EasyRDF:无法从构造查询中获取图形
我正在尝试EasyRdf_Graph
从通过发送的查询中获取对象EasyRdf_Sparql_Client::query
。
SELECT
和ASK
查询将返回一个类型的对象EasyRdfSparqlResult
。
CONSTRUCT
和DESCRIBE
查询将返回一个类型的对象EasyRdf_Graph
。
这是我的代码:
这是输出,EasyRdf_Sparql_Result
如您所见:
还尝试了不同的端点(http://dbpedia.org/sparql和http://localhost:3030/testFuseki) 因为我看到了这个问题:https ://github.com/njh/easyrdf/issues/226 ,但它是一样的。
有关安装的信息
随 Composer 一起安装的 EasyRDF 版本 0.9.1
PHP 版本 7.0.30-0+deb9u1 + Apache/2.4.25 (Debian)
任何线索将不胜感激,在此先感谢。
编辑
实际上它适用于我本地安装的 Fuseki。由于http://data.bnf/fr/sparql和http://dbpedia.org/sparql都是 Virtuoso 端点,我想知道问题是否仅出在 Virtuoso 上。
php - EasyRDF(php 库):如何提取 RDF/XML 中的所有属性和文字?
使用EasyRDF(PHP 库),如何提取 XML/RDF 中的所有属性和文字?
我试过 EasyRdf_Literal_XML::create(); 和 EasyRdf_Parser_RdfXml::parse(); EasyRdf_Literal_XML::domParse(); 但我不太了解糟糕的文档。
RDF/XML 数据(下面代码中的 $input)看起来像
这是开始的第一个代码:
现在,我想提取和计数(甚至是嵌套的)
1)所有属性
- rdf:about="http://dbpedia.org/resource/1964"
- rdf:resource="http://dbpedia.org/resource/1964"
- rdf:about="http://dbpedia.org/resourcec/1964_AD"
- rdf:resource="http://dbpedia.org/resource/1964"
4 个计数
2)所有文字
- Het jaar 1964 是 een jaartal volgens de christelijke jaartelling。
- 1964 (MCMLXIV) fue un año bisiesto comenzando en miércoles
2 次
php - 如何在 PHP 中使用 SPARQL 在本地查询 rdf 文件
我需要使用一些 SPARQL 查询请求一个 rdf 文件。我必须用 PHP 来做。我用 WAMP 测试我的代码。
是否可以在 php 中使用 sparql 查询在本地请求 rdf 文件?如果是,是否可以使用“Easyrdf”来完成。我找到了 EasyRDF 并尝试了它,但我真的不知道它是如何工作的,无论如何我都没有找到将 rdf 文件本地放入代码中。那么,如果可能的话,请您检查我的代码,看看有什么问题吗?
没有错误,这是以下结果print_r($result)
:
EasyRdf_Graph 对象 ( [uri:EasyRdf_Graph:private] => http://localhost/Knowledge_Project/lib/EasyRdf/Sparql [parsedUri:EasyRdf_Graph:private] => EasyRdf_ParsedUri 对象 ( [scheme:EasyRdf_ParsedUri:private] => http [片段: EasyRdf_ParsedUri:private] => [authority:EasyRdf_ParsedUri:private] => localhost [path:EasyRdf_ParsedUri:private] => /Knowledge_Project/lib/EasyRdf/Sparql [query:EasyRdf_ParsedUri:private] => ) [资源:EasyRdf_Graph:private] => Array ( ) [index:EasyRdf_Graph:private] => Array ( ) [revIndex:EasyRdf_Graph:private] => Array ( ) [bNodeCount:EasyRdf_Graph:private] => 0 [loaded:EasyRdf_Graph:private] => Array ( ) [maxRedirects:EasyRdf_Graph:private] => 10)
我已经检查了程序没有进入 foreachloop。
PS:
窗口版本:10;PHP版本:7.3.12;WAMP 版本:3.2.0
更新:如果我传入 7.4.1 版本的 PHP,脚本会出现很多错误:
php - EasyRDF 示例在服务器上不适合我
我正在为一个项目设置easyrdf,所以我正在尝试主页示例。本地一切都很好。但是,一旦我将文件更改为与示例 ( http://njh.me/foaf.rdf
) 不同的文件,或者在服务器上使用相同的图形执行相同的示例代码,它就不再工作了。我使用composer安装easyrdf。
例子是:
我得到 Class 'EasyRdf\Graph' not found (0)。是什么原因导致它无法在服务器上运行?