Rdf 如何将类道路定义为等效于具有hasRoadNumber数据属性相同值的一组对象

Rdf 如何将类道路定义为等效于具有hasRoadNumber数据属性相同值的一组对象,rdf,owl,semantic-web,protege,rdfs,Rdf,Owl,Semantic Web,Protege,Rdfs,我定义了classRoadSegment和datatype属性hasRoadNumber。因此,现在我想定义类道路,并说明道路是一组具有相同道路编号的道路段。如何做到这一点?让我们假设这些数据 <r123> a :Road; :number "123". <r123.1> a :RoadSegment; :number "123"; :seq 1. <r123.2> a :RoadSegment; :number &qu

我定义了class
RoadSegment
和datatype属性
hasRoadNumber
。因此,现在我想定义类
道路
,并说明
道路
是一组具有相同道路编号的
道路段
。如何做到这一点?

让我们假设这些数据

<r123> a :Road; :number "123".
<r123.1> a :RoadSegment; :number "123"; :seq 1.
<r123.2> a :RoadSegment; :number "123"; :seq 2.
a:道路;:编号“123”。
a:路段;:编号“123”;:序号1。
a:路段;:编号“123”;:序号2。
使用此GraphDB规则(.pie),您可以很容易地推断出需要什么:

id:路段
R
rs
r n
rs n
-------------
r rs
好处是规则是动态的,即当您添加/删除/编辑段时,
:hasegment
将动态更新

至于序列,有各种各样的模式来表示它们

  • rdf:List
    是标准的,但相当笨拙
  • 使用序列号会使事情变得更简单,例如使用它(但与上面不同的是,使用辅助类允许一个项目成为多个列表的成员)
    • 让我们假设这个数据

      <r123> a :Road; :number "123".
      <r123.1> a :RoadSegment; :number "123"; :seq 1.
      <r123.2> a :RoadSegment; :number "123"; :seq 2.
      
      a:Road;:编号“123”。
      a:路段;:编号“123”;:序号1。
      a:路段;:编号“123”;:序号2。
      
      使用此GraphDB规则(.pie),您可以很容易地推断出需要什么:

      id:路段
      R
      rs
      r n
      rs n
      -------------
      r rs
      
      好处是规则是动态的,即当您添加/删除/编辑段时,
      :hasegment
      将动态更新

      至于序列,有各种各样的模式来表示它们

      • rdf:List
        是标准的,但相当笨拙
      • 使用序列号会使事情变得更简单,例如使用它(但与上面不同的是,使用辅助类允许一个项目成为多个列表的成员)

      也就是说,你想产生这样的新个体:
      :newRoad1:hasSegment:section1withroadnumber95
      ?试试这种方法:。是的,我想推断这些路段一起创造了一条道路。但我担心这种定义道路的方法在计算上太昂贵了。人们通常如何处理这种情况?他们相信吗明确的ate道路个人?是否仅限于OWL?如果不限于OWL,使用SHACL更容易。不,我不限于此,问题是哪些数据库支持所有这些必需的工具。我的目标是创建一个分析道路交通的系统,因此我想我可以从基本道路状态推断不同的事实,例如速度限制、交通灯状态s、 车辆在特定点的速度。因此基本上会有很多点和很多车辆。这有意义吗?此外,还需要定义顺序,因为车辆运动是一系列点,并且“在之前”这一点很关键……例如,你想生成这样的新个体:
      :newRoad1:hasSegment:section1withroadnumber95
      ?试试这种方法:。是的,我想推断这些路段一起创建一条道路。但我担心这种定义道路的方法在计算上过于昂贵。人们通常如何处理这种情况评估?他们是否明确创建了道路个人?您是否仅限于OWL?如果不限于OWL,使用SHACL会更容易。不,我不受限制,问题是哪些数据库支持所有这些必要的工具。我的目标是创建一个分析道路交通的系统,因此我认为我可以从基本道路状态推断不同的事实,例如速度限制,交通信号灯显示,特定点的车速。因此基本上会有很多点和很多车辆。这有意义吗?还有,需要定义顺序,因为车辆运动是一系列点,“在”该点是至关重要的。。。