小编Has*_*raj的帖子

通过正则表达式查询主题或谓词

鉴于此RDF:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
<!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>]>

<rdf:RDF xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="Fadi" xml:startTime="00:01:38" xml:endTime="00:01:39">
    <ns0:eat xmlns:ns0="http://example.org/">Apple</ns0:eat>
  </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

当我执行此SPARQL查询时

SELECT *
WHERE {
  ?s ?p ?o . 
  FILTER (regex(?o, 'Apple','i'))
}
Run Code Online (Sandbox Code Playgroud)

我得到主题和谓词:

s: http://example.org/Fadi , p: http://example.org/eat .
Run Code Online (Sandbox Code Playgroud)

但是当我执行

SELECT *
WHERE {
  ?s ?p ?o .
  FILTER (regex(?s, 'Fadi','i'))
}
Run Code Online (Sandbox Code Playgroud)

要么

SELECT *
WHERE {
  ?s ?p ?o .
  FILTER (regex(?s, 'http://example.org/Fadi','i'))
}
Run Code Online (Sandbox Code Playgroud)

我一无所获.我如何查询主题或谓词?我怎么查询startTimeendTime

rdf sparql

2
推荐指数
2
解决办法
1846
查看次数

我需要用Time属性编写rdf三元组并使sparql查询得到时间

我有三倍:Fadi吃苹果.(subject = Fadi,谓词= eat,object = Apple).我有时间当fadi吃苹果,它的:00:00:13我有时间当fadi吃苹果,它的:00:00:50

我怎么能用时间作为属性写一个rdf-triples文件?以及如何从rdf文件中获取sparql查询请求的startTime和endTime?

我试着像这样写我的rdf:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
<!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>]>
<rdf:RDF xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:dnr="http://www.dotnetrdf.org/configuration#"
         xml:base="http://www.example.org/"
    xmlns:startTime="http://example.org/startTime#"
    xmlns:endTime="http://example.org/endTime#">

<rdf:Description rdf:about="Fadi">
        <ns:be xmlns:ns="http://example.org/" xmlns:startTime="00:00:13" xmlns:endTime="00:00:16">May</ns:be>
      </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

但是c#给了我:无效的URI:URI方案无效.

我试过这个:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
<!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>]>
<rdf:RDF xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:dnr="http://www.dotnetrdf.org/configuration#"
         xml:base="http://www.example.org/">

<rdf:Description rdf:about="Fadi">
        <ns:be xmlns:ns="http://example.org/" xml:startTime="00:00:13" xml:endTime="00:00:16">May</ns:be>
      </rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

但我无法用sparql获得时间.

我怎么写我的rdf?!!

attributes rdf sparql triples

0
推荐指数
1
解决办法
212
查看次数

标签 统计

rdf ×2

sparql ×2

attributes ×1

triples ×1