Java 如何获取资源的值(对象)';谁的财产?
我有下面的代码,在其中我通过电子邮件找到一个资源Java 如何获取资源的值(对象)';谁的财产?,java,rdf,kotlin,jena,apache-jena,Java,Rdf,Kotlin,Jena,Apache Jena,我有下面的代码,在其中我通过电子邮件找到一个资源 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.execSel
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
}
val varn=“x”
val query=createQuery(“”选择?${varn}
其中{x“${email}”}”“”)
val qexec=createQueryExecution(ds,查询)
val rs=qexec.execSelect()
if(rs.hasNext()){
val solution=rs.nextSolution()
val rec=溶液[varn]
//在这里,我需要第一次找到属性的值
}
现在我想知道rec
是否有一个属性FirstContactTime
,如果是,它的值
我尝试了rec.model.listObjectsOfProperty(ds.defaultModel.createProperty(FirstContactTime)),但它没有返回任何内容。调试器说,rec
确实有一个属性FirstContactTime
如何在代码中获取
FirstContactTime
(2017-03-03T10:35:00Z
)的值?请注意,数据中的属性是FirstContactDateTime
而不是FirstContactTime
你要找的SPARQL是这样的--
前缀vcard:
前缀ex:
选择?用户?电子邮件?第一联系人
哪里
{?x vcard:电子邮件?电子邮件。
可选{?x ex:firstContactDateTime?firstcontact}
}
屏幕截图很难使用。请用文本替换屏幕截图。不需要突出显示。
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 }
}