Rdf 如何将类道路定义为等效于具有hasRoadNumber数据属性相同值的一组对象
我定义了classRdf 如何将类道路定义为等效于具有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
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会更容易。不,我不受限制,问题是哪些数据库支持所有这些必要的工具。我的目标是创建一个分析道路交通的系统,因此我认为我可以从基本道路状态推断不同的事实,例如速度限制,交通信号灯显示,特定点的车速。因此基本上会有很多点和很多车辆。这有意义吗?还有,需要定义顺序,因为车辆运动是一系列点,“在”该点是至关重要的。。。