相关疑难解决方法(0)

是否可以在SPARQL中的RDF集合中获取元素的位置?

假设我有以下Turtle声明:

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

:ls :list (:a :b :c)
Run Code Online (Sandbox Code Playgroud)

有没有办法获得集合中元素的位置?

例如,使用此查询:

PREFIX :     <http://example.org#>
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

SELECT ?elem WHERE {
 ?x :list ?ls .
 ?ls rdf:rest*/rdf:first ?elem .
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

--------
| elem |
========
| :a   |
| :b   |
| :c   |
--------
Run Code Online (Sandbox Code Playgroud)

但我想要一个查询来获取:

--------------
| elem | pos |
==============
| :a   |  0  |
| :b   |  1  |
| :c   |  2  |
--------------
Run Code Online (Sandbox Code Playgroud)

可能吗?

rdf sparql

22
推荐指数
2
解决办法
3935
查看次数

使用RDF语法表示复杂的句子

我是RDF的新手,我有一个关于RDF的问题.

使用一些简单的句子:"Ann study Math",使用RDF表示它没有问题.

但是更复杂的句子如:" 帕克先生教授机器学习并使用名为ML-for-newbie的书 ",我的意思是帕克先生用这本书来准备他的讲座.有三个对象:Parker先生,机器学习,ML-for-newbie ; 2谓词:教导,使用.那么如何在RDF中表示这句话呢?据我所知,一个RDF语句就像Subject --predicate - > Object,而3个对象和2个谓词让我感到困惑:(

Plz帮助,谢谢!

rdf semantic-web

5
推荐指数
2
解决办法
678
查看次数

推理中的推理

我有一个简单的本体如下

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY assignment "http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#" >
]>

<rdf:RDF xmlns="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#"
 xml:base="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:assignment="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment"/>

<!-- 
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
 -->

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#channel_of -->
<owl:ObjectProperty rdf:about="&assignment;channel_of">
    <rdfs:domain rdf:resource="&assignment;Channels"/>
    <rdfs:range rdf:resource="&assignment;Television"/>
    <owl:inverseOf rdf:resource="&assignment;has_channels"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_channels -->
<owl:ObjectProperty rdf:about="&assignment;has_channels">
    <rdfs:range rdf:resource="&assignment;Channels"/>
    <rdfs:domain rdf:resource="&assignment;Television"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_inet_connection -->
<owl:ObjectProperty rdf:about="&assignment;has_inet_connection">
    <rdfs:range rdf:resource="&assignment;InternetConnection"/>
    <rdfs:domain rdf:resource="&assignment;Person"/>
</owl:ObjectProperty>

<!-- http://www.semanticweb.org/shadowman/ontologies/2013/5/assignment#has_television …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web owl protege

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

与耶拿的OWL本体谓词逻辑

我无法在我的Ontology中表达以下情况:

假设我有四个人投票和四个投票(因此投票和选民之间存在一对一的映射).人们可以投票赞成或反对.如果我知道三人投票的结果,我应该能够推断出第四人的投票.

重申一下:约翰,鲍勃,玛丽和卡罗尔各自投票.由于有四个人有四票.投票结果是一个平局(2是,2没有).后来推理者确定Bob和John投了反对票.然后推理者应该能够推断出玛丽和卡罗尔的选票是肯定的.

目前我正在使用Jena的java api构建我的本体,并使用Jena推理器进行推理,所以我宁愿使用Jena支持的规则/语义.

owl ontology jena

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

我可以为rdf:List成员指定一个范围吗?

如果我想说某事的标题应该是rdfs:Literal,我这样做:

example:title a owl:DatatypeProperty ;
    rdfs:range rdfs:Literal .
Run Code Online (Sandbox Code Playgroud)

现在我想表达一些东西有一个有序的标题列表:

example:titles a rdf:List .
Run Code Online (Sandbox Code Playgroud)

如何指定列表成员应该是什么?我需要子类rdf:List吗?

更新:我想继续使用rdf:List,如果可能,根据Joshua的回答我认为以下说任何rdf:List只有rdfs:Literal值是一个例子:ListOfLiterals,然后我可以用它作为一个范围.

@prefix entity: <http://example.com/stuff/> .
@prefix example: <http://example.com/my/term/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

example:ListOfLiterals a owl:Class ;
    owl:equivalentClass [
        a owl:Class ;
        owl:intersectionOf (
            rdf:List
            [
                a owl:Restriction ;
                owl:allValuesFrom rdfs:Literal ;
                owl:onProperty rdf:first
            ]
            [
                a owl:Restriction ;
                owl:allValuesFrom example:ListOfLiterals ;
                owl:onProperty rdf:rest
            ] )
    ] .

example:Book a owl:Class .

example:titles a owl:DatatypeProperty ;
    rdfs:domain example:Book …
Run Code Online (Sandbox Code Playgroud)

rdf

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

标签 统计

rdf ×4

owl ×2

semantic-web ×2

jena ×1

ontology ×1

protege ×1

sparql ×1