繁体   English   中英

如何获取资源属性的值(对象)?

[英]How can I get the value (object) of a Resource's property?

我有以下代码,可以在其中通过电子邮件找到资源。

val varn = "x"
val query = createQuery("""SELECT ?${varn}
                    WHERE { ?x  <http://www.w3.org/2001/vcard-rdf/3.0#EMAIL>  "${email}" }""")
val qexec = createQueryExecution(ds, query)
val rs = qexec.execSelect()
if (rs.hasNext()) {
    val solution = rs.nextSolution()
    val rec = solution[varn]
    // Here I need to find the value of the property FirstContactTime
}

现在,我想找出rec是否具有属性FirstContactTime ,如果有,则为值。

我尝试了rec.model.listObjectsOfProperty(ds.defaultModel.createProperty(FirstContactTime))但它不返回任何内容。 调试器说rec确实具有属性FirstContactTime

调试器

如何在我的代码中获取FirstContactTime2017-03-03T10:35:00Z )的值?

请注意,数据中的属性是FirstContactDateTime而不是FirstContactTime

您正在寻找的SPARQL是这样的-

PREFIX  vcard:  <http://www.w3.org/2001/vcard-rdf/3.0#>
PREFIX     ex:  <http://example.com/schema/person/>

SELECT ?user ?email ?firstcontact
 WHERE
   {               ?x  vcard:EMAIL              ?email         .
      OPTIONAL  {  ?x  ex:firstContactDateTime  ?firstcontact  }
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM