标签: owl

如何在OWL字面值中放置整数"范围"?

假设我在db中有金属材料,其性能屈服强度可以从300到500 MPa.我怎样才能将其作为字面值输入.

我应该把2个属性像YieldStrengthMinYieldStrengthMax,或者它可以在单个条目中完成并格式化为300 - 500.我知道我可以把它作为字符串类型,但我需要的是当我SPARQL我的数据库时,我应该进行查询,找到所有可以说的材料YieldStrength > 350.如果它在该间隔中甚至是部分它应该是有效的结果.

好的,另一个澄清的例子

我将拥有db材料,每种材料都有许多属性.让我们说吧prop:hasMeltingTemperature.

material:ZA-12 prop:hasMeltingTemperature    "380 - 430".

material:Zn    prop:hasMeltingTemperature    "420".
Run Code Online (Sandbox Code Playgroud)

其中一些(清洁材料)将具有一个熔化温度,合金的温度将根据一些组分的百分比而变化.

我的应用程序将不得不从db获取所有材料,让我们说熔化温度> 400.所以在这种情况下它应该得到它们两个.

如果我查询我需要所有熔化温度<425的材料,它也应该同时使用它们.如果查询<400,则只有第一个材料.

无论如何,我的问题是:

我应该制作这样的房产:

material:ZA-12 prop:hasMeltingTemperature_MIN "380".

material:ZA-12 prop:hasMeltingTemperature_MAX "430".

material:Zn    prop:hasMeltingTemperature     "420".
Run Code Online (Sandbox Code Playgroud)

然后当我查询时我必须检测">"然后将它与"MIN"temp和"solo"temp进行比较,如果是"<"则将其与"MAX"temp和"solo"temp进行比较.

在这种情况下,我必须首先检测材料是否只有"one"或"min-max"temp或"none"temp属性.

要么

我可以像第一个例子中那样做,只有一个属性,如:

material:ZA-12 prop:hasMeltingTemperature "380 - 430".

material:Zn    prop:hasMeltingTemperature "420" .
Run Code Online (Sandbox Code Playgroud)

并制作某种可以理解"间隔"并进行比较的sparql查询?

这就是我想知道的原因,因为材料有许多属性,而且有许多材料,其中一些具有"最大值"值,一些"独奏"值,有些根本没有该属性,但有另一个属性一样的问题...

我的应用程序将在PHP中,所以我将不得不在PHP中生成sparql查询,这就是为什么我正在寻找一些"通用"类型的查询(只检查一个属性)..

所以我的问题是如何有效地sparql查询它,更好的选择2用于存储数据,以及如何查询它'

rdf owl sparql literals semantics

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

所有sameAs的SPARQL查询

我想把所有对象owl:sameAs与我的对象关系起来Berlin.

rdf semantic-web owl sparql dbpedia

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

使用 owl api 获取单个属性

我正在尝试读取存储在本体中的信息。XML 绑定(我正在处理的部分)是:

<!-- hasPrevious and hasNext are defined at the imported ontology -->
<owl:NamedIndividual   rdf:about="http://www.myexampledomain.com/myExample.owl#one_relationship">
    <rdf:type rdf:resource="http://www.myexampledomain.com/myExample.owl#typeA"/>
    <intui_PO:hasPrevious rdf:resource="http://www.myexampledomain.com/myExample.owl#element01"/>
    <intui_PO:hasNext rdf:resource="http://www.myexampledomain.com/myExample.owl#element02"/>
</owl:NamedIndividual>
Run Code Online (Sandbox Code Playgroud)

我使用以下 Java 代码:

//Create factories that will produce the objects
OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();
OWLDataFactory fac = man.getOWLDataFactory();

//Get a reasoner, to query the ontology
OWLReasonerConfiguration config = new SimpleConfiguration();
OWLReasoner reasoner = reasonerFactory.createReasoner(owlOnt, config);

//Get relations. Their properties are the related individuals
OWLClass myclass = fac.getOWLClass(IRI.create("http://www.myexampledomain.com/myExample.owl#RelationClass"));
NodeSet<OWLNamedIndividual> individualsRelationNodeSet = reasoner.getInstances(myclass,false);
Set<OWLNamedIndividual> relations = individualsRelationNodeSet.getFlattened();
Run Code Online (Sandbox Code Playgroud)

有了这个,我就找到了命名的关系。我想通过以下方式读取它们的属性:

Map<OWLObjectPropertyExpression,Set<OWLIndividual>> …
Run Code Online (Sandbox Code Playgroud)

java owl ontology

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

sparql如何将子查询转换为另一个查询

我有这些数据

@prefix : <http://test.example/> .

:alice :likes :beethoven.
:alice :likes :verdi.
:sofia :likes :beethoven.
:sofia :likes :verdi.
:sofia :likes :rossini.
:ania :likes :verdi.
:ania :likes :beethoven.
:ania :likes :david.
:david :likes :ania.
:david :likes :beethoven.
:david :likes :verdi.
:antonino :likes :verdi.
:antonino :likes :mozart.
:weirdo :likes :katyperry.
:beethoven a :recommendable.
:verdi a :recommendable.
:rossini a :recommendable.
:katyperry a :recommendable.
:mozart a :recommendable.
Run Code Online (Sandbox Code Playgroud)

然后我进行查询以获得喜欢与特定用户相同的项目的用户

select ?anotherUser (COUNT(?anotherItem) as ?countOfItems) WHERE {
  values ?user {:ania}
  ?anotherUser :likes ?anotherItem.
  filter (?anotherUser != ?user) …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web owl sparql

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

为什么推理者推断这个类是这个类的子类

这是我的第一堂课Ratings2016,它是一个等同的类:评级和createdOn的值大于2016.

<!-- http://semanticrecommender.com/rs#Ratings2016 -->

    <owl:Class rdf:about="http://semanticrecommender.com/rs#Ratings2016">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://semanticrecommender.com/rs#Rates"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://semanticrecommender.com/rs#createdOn"/>
                        <owl:someValuesFrom>
                            <rdfs:Datatype>
                                <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
                                <owl:withRestrictions rdf:parseType="Collection">
                                    <rdf:Description>
                                        <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2016-01-01T00:00:00</xsd:minInclusive>
                                    </rdf:Description>
                                </owl:withRestrictions>
                            </rdfs:Datatype>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
Run Code Online (Sandbox Code Playgroud)

这是另一个类,Ratings2015它相当于评级,并且比2015年更大

 <!-- http://semanticrecommender.com/rs#Ratings2015 -->

    <owl:Class rdf:about="http://semanticrecommender.com/rs#Ratings2015">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://semanticrecommender.com/rs#Rates"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://semanticrecommender.com/rs#createdOn"/>
                        <owl:someValuesFrom>
                            <rdfs:Datatype>
                                <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
                                <owl:withRestrictions rdf:parseType="Collection">
                                    <rdf:Description>
                                        <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2015-01-01T00:00:00</xsd:minInclusive>
                                    </rdf:Description>
                                </owl:withRestrictions>
                            </rdfs:Datatype>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
Run Code Online (Sandbox Code Playgroud)

当我运行推理器时,推理者称Ratings2016是2015年评级的子类

图片

这是不正确的,为什么会这样,如何解决?

rdf semantic-web owl ontology protege

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

门徒如何将 OntoGraf 与推断的三元组一起使用?

我正在使用 Protege 开发本体,我还使用 OntoGraf 选项卡查看本体及其类及其实例及其实例的层次结构。

如果我明确说一个实例 (i) 来自类型 (t),OntoGraf 会告诉我这一点,但是如果我对实例 (i) 满足的类型 (t) 施加限制,因此, (i) 变得推断出它来自类型 (t),OntoGraf 根本没有告诉我

换句话说,我可以在 protege 中看到实例 (i) 来自类型 (t) 但 OntoGraf 没有显示。

同样,它只是处理我明确说它们来自特定类的实例,但推断的实例不起作用。

明确地说一个实例来自一个类没有任何意义,否则本体没有任何好处。

semantic-web owl ontology sparql protege

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

降低Jena函数的性能"ResultSetFactory.copyResults()"

我使用SPARQL查询我的本体,但是我观察到性能下降,我请求的查询越多,它就越糟糕.一开始PC需要大约150ms来处理查询,30查询需要670ms,而查询需要超过7秒!它取决于查询和/或本体,但直到现在,我可以在每个本体中找到它.

行"ResultSetRewindable r = ResultSetFactory.copyResults(results);" 负责时间泄漏,但也通过避免线路导致类似的行为.

我使用了披萨本体(https://ontohub.org/pizza/pizza.owl)和以下代码.另外,我使用了Jena 2.13版.

有谁知道如何解决它?

public static void main(String[] args) throws UnsupportedEncodingException, InterruptedException{
    OntModel model = ModelFactory.createOntologyModel();
    String OWLPath = "pizza.owl";
    String queryString = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX pz: <http://www.co-ode.org/ontologies/pizza/pizza.owl#> SELECT DISTINCT ?x WHERE {     ?b owl:someValuesFrom pz:MozzarellaTopping. ?x rdfs:subClassOf ?b.      ?x rdfs:subClassOf* pz:Pizza.}";
    for(int j=0; j<100;j++){
    double starttime = System.currentTimeMillis();
                InputStream in = FileManager.get().open(OWLPath);
        if (in == null) {
            throw new IllegalArgumentException("File: " + …
Run Code Online (Sandbox Code Playgroud)

performance owl sparql jena

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

在Protege中的SPARQL中的简单请求

可以smb帮助我使用SPARQL,因为我无法理解它的语法.

如何查看此本体的信息

https://www.dropbox.com/s/m25d6x3ej7ppjw4/MyProject.owl

我应该查看有关创建多个方法的作者的信息.

有关方法的信息,早于1900年创建

最后,"球体使用"的名称和球体中使用的方法.

如果有人可以通过简单的示例给出SPARQL语法的一些链接,或者可以解释我它是如何工作的,我会很高兴.

semantic-web owl ontology sparql protege

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

标签 统计

owl ×8

sparql ×6

semantic-web ×5

ontology ×4

rdf ×4

protege ×3

dbpedia ×1

java ×1

jena ×1

literals ×1

performance ×1

semantics ×1