小编Ani*_*vid的帖子

Turtle RDF序列化中的反向属性路径?

在RDF图的Turtle序列化中,我有很多像这样的三元组(许多个体,都具有常见的类型值):

:A a :b .
:B a :b .
:C a :b .
:D a :b .
# …
:Z a :b .
Run Code Online (Sandbox Code Playgroud)

有没有办法在乌龟中简洁地写这个?在SPARQL中,它与Turtle有一些相似之处,我们可以写:

:b ^a :A, :B, :C, …, :Z .
Run Code Online (Sandbox Code Playgroud)

在龟中有对应物吗?

rdf turtle-rdf

5
推荐指数
1
解决办法
135
查看次数

GSON java 我如何在映射和打印之间使用不同的名称?

我有一个像这样的 JSON:

{
  "aggregation": {
    "CityAgg" : {
      "key" : "Paris"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我创建映射,并为每个字段添加 a ,@SerializedName因为我想为变量创建自定义名称。

例如,在 JSON 中,有一个键名称key,但我希望 Java 中的变量是cityName

所以,我这样做:

@SerializedName("key")
public String cityName
Run Code Online (Sandbox Code Playgroud)

我可以将响应 JSON 动态映射到我的对象,如下所示:

Gson gson = new Gson();
Query2 query2 = gson.fromJson(response, Query2.class);
Run Code Online (Sandbox Code Playgroud)

它工作得很好。

但是,当我想打印映射的对象时,我会这样做:

String query2String = gson.toJson(query2);
Gson gsonPretty = new GsonBuilder().setPrettyPrinting().create();
String prettyJson = gsonPretty.toJson(query2String);
Run Code Online (Sandbox Code Playgroud)

问题是,在 中prettyJson,我可以看到key,而不是cityName

我想知道是否有办法定制它。我不想看到key

java android json gson

5
推荐指数
1
解决办法
9697
查看次数

java.lang.IllegalArgumentException:字符串数组上的参数类型不匹配

这是我动态调用方法的代码:

String[] parameters = new String[requiredParameters.length];
//here i put some values in the parameters array
method = TestRecommendations.class.getMethod("level1ClassSimilarityForUser",
                                    String[].class);
System.out.println(":" + parameters[0] + ":");
results = (ResultSet) method.invoke(new TestRecommendations(), parameters)
Run Code Online (Sandbox Code Playgroud)

parameters是一个字符串数组,这是我的level1ClassSimilarityForUser方法的声明

public ResultSet level1ClassSimilarityForUser(String[] userURI) {
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

java.lang.IllegalArgumentException: argument type mismatch

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
Run Code Online (Sandbox Code Playgroud)

java

3
推荐指数
1
解决办法
1万
查看次数

如何在CONSTRUCT的图形上创建聚合

这是我的查询:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rs: <http://www.welovethesemanticweb.com/rs#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    construct {
  ?subject0 rs:similarityValue ?similairty0.
    ?subject1 rs:similarityValue ?similairty1
}
WHERE {

  {
  ?subject0 ?predicate0 ?object0.
  rs:Impromptu_No._1 ?predicate0 ?object0.
    ?predicate0 rs:hasSimilarityValue ?similairty0Helper.
    BIND(?similairty0Helper * (4/9) AS ?similairty0)
    FILTER (?subject0 != rs:Impromptu_No)  
  }
  union {
    ?subject1 ?predicate ?object.
    ?object ?predicate1 ?object1.
    ?predicate1 rs:hasSimilarityValue ?similairty1Helper.
    rs:Impromptu_No._1 ?predicateHelper ?objectHelper.
    ?objectHelper ?predicate1 ?object1
      BIND(?similairty1Helper * (1/9) AS ?similairty1)
    FILTER (?subject1 != rs:Impromptu_No._1)
  }
}
Run Code Online (Sandbox Code Playgroud)

结果是:

rs:5th_Symphony
      rs:similarityValue
            0.011111111111111112e0 .

rs:Polonaise_heroique
      rs:similarityValue
            0.011111111111111112e0 , 0.17777777777777778e0 , …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web owl ontology sparql

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

sparql如何根据日期范围进行过滤

我有以下过滤器,可以将我的数据过滤到上周的项目.

#just consider the likes in the last one week.
  filter (?ratingDate >= "2017-03-01T00:00:00"^^xsd:dateTime )
Run Code Online (Sandbox Code Playgroud)

如你所见,我在手中设置了上周的日期时间(硬编码),有没有办法自动设置这个日期?

我正在寻找像现在这样的东西- 7天

rdf semantic-web owl rdfs sparql

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

sparql 检查属性是否存在并给出零答案

这是我的最低数据:

@prefix : <http://example.org/rs#>

:item :hasContext [:weight 0.1 ; :doNotRecommend true] , [:weight 0.2 ] .

:anotherItem :hasContext [:weight 0.4] , [ :weight 0.5 ] .
Run Code Online (Sandbox Code Playgroud)

如您所见,每个item都有一个或多个 hasContext,它的对象hasContext是一个可以doNotRecommed谓词的实例。

我想要的是,如果这些实例之一(hasContext 的对象)包含 donNotRecommed,我希望总和为零。** 和总和我的意思是权重的总和**,所以换句话说,如果该属性存在,忽略所有权重(无论它们是否存在),只需将其设为零

我的查询

select ?item (SUM(?finalWeight) as ?summedFinalWeight) {
 ?item :hasContext ?context .
  optional 
  {
    ?context :doNotRecommend true .
    bind( 0 as ?cutWeight) 
  }
  optional
  {
    ?context :weight ?weight .
  } 
  bind ( if(bound(?cutWeight), ?cutWeight , if(bound(?weight), ?weight, 0.1) ) …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web owl ontology sparql

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

为什么过滤器在此上下文中不起作用?

这是查询和结果:

在此输入图像描述

如您所见,我正在过滤掉那些用户,bo:ania为什么他们仍然出现?

但是,如果我删除宽卡并仅选择用户?user,bo:ania则不会出现

在此输入图像描述

我没有提供最小数据示例,因为这是关于过滤器和通配符如何工作的问题,而不是从数据集中提取某些数据的问题.但是,如果您需要最低限度的数据,我非常乐意提供.

rdf semantic-web owl ontology sparql

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

SPARQL 是否可以使用静态文本将两个变量与其标签绑定?

这是我的查询

PREFIX : <http://example.org/rs#>

select ?item (SUM(?similarity) as ?summedSimilarity) 
(group_concat(distinct ?becauseOf ; separator = " , ") as ?reason) where
{
  values ?x {:instance1}
  {
    ?x  ?p  ?instance.
    ?item   ?p  ?instance.
    ?p  :hasSimilarityValue ?similarity
      bind (?p as ?becauseOf)
  }
  union
  {
    ?x  a   ?class.
    ?item   a   ?class.
    ?class  :hasSimilarityValue ?similarity
      bind (?class as ?becauseOf)
  }
  filter (?x != ?item)
}
group by ?item
Run Code Online (Sandbox Code Playgroud)

在我的第一bind个子句中,我不仅要绑定变量?p,还要绑定变量?instance。另外,添加像that is why.

所以第一次绑定应该导致以下结果: ?p that is why ?instance …

rdf semantic-web owl ontology sparql

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

为什么这个变量永远不会有价值

我正在检查如果实例具有特定谓词的值,则将该值绑定到特定变量,否则,将该变量绑定到整数类型的值1.这是我的代码

select ?boosted where {
    :r1 a ?x
  optional
  {
    ?item rs:boostedBy ?boostedOptional
      bind (if(bound(?boostedOptional), ?boostedOptional, "1"^^xsd:integer) as ?boosted)
  }
}
Run Code Online (Sandbox Code Playgroud)

提升的价值总是空的,请看

在此输入图像描述

告诉我为什么?

注意

我认为你不需要数据来测试我的代码无法正常工作的原因,因为对我来说这听起来像是使用绑定的一般错误.但是,如果你想要数据,我会给你数据.

笔记2

从第一个位置开始没有rs:boostedBy谓词,所以我希望始终保持默认值,在这种情况下,它是1的整数类型.

rdf semantic-web owl ontology sparql

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

SPARQL 限制变量每个值的结果

这是重现问题所需的最少数据

@prefix : <http://example.org/rs#>
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

:artist1 rdf:type :Artist .
:artist2 rdf:type :Artist .
:artist3 rdf:type :Artist .
:en rdf:type :Language .
:it rdf:type :Language .
:gr rdf:type :Language .

:c1
    rdf:type :CountableClass ;
    :appliedOnClass :Artist ;
    :appliedOnProperty :hasArtist
.

:c2
    rdf:type :CountableClass ;
    :appliedOnClass :Language ;
    :appliedOnProperty :hasLanguage
.

:i1
    rdf:type :RecommendableClass ;
    :hasArtist :artist1 ;
    :hasLanguage :en
.

:i2
    rdf:type :RecommendableClass ;
    :hasArtist :artist1 ;
    :hasLanguage :en
.


:i3
    rdf:type :RecommendableClass;
    :hasArtist :artist1 ; …
Run Code Online (Sandbox Code Playgroud)

sparql

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

标签 统计

rdf ×7

sparql ×7

owl ×6

semantic-web ×6

ontology ×5

java ×2

android ×1

gson ×1

json ×1

rdfs ×1

turtle-rdf ×1