banana-rdf 相关问题


有没有办法在 RDF 中表示时态数据?

我有一堆时态数据,我想将其转换为 RDF 格式。有没有可以接受的方法? 应以某种方式转换为 RDF 格式的表格数据示例: |姓名 |...


Jena Riot 推断无效的 RDF(以文字作为主语)

我正在将 Jena riot CLI 工具推断出的 RDF 馈送到 shacl cli 工具中。 我的架构定义包含如下内容: lob:帐号 rdfs:域 lob:帐户; rdfs:范围 xsd:str...


如何仅修改父RecyclerView位置0处的第一个嵌套RecyclerView(子)元素?

我有包含嵌套Recyclerview 的parentRecyclerview。 nestedRecyclerView 列出了几个项目:(Apple、Banana、Pear)。我想像这样加粗这个nestedRecyclerview的第一项(苹果)......


耶拿有没有办法看到OntClass来自导入的本体?

我有一个导入 bfo 的本体。在我的测试用例中,我只有一个类,它是实体的子类: 我有一个导入bfo的本体。在我的测试用例中,我只有一个类,它是 entity: 的子类 <rdf:RDF xmlns="http://my.ontology/ontologyTest#" xml:base="http://my.ontology/ontologyTest" xmlns:da="http://my.ontology/ontologyTest#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:obo="http://purl.obolibrary.org/obo/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:terms="http://purl.org/dc/terms/"> <owl:Ontology rdf:about="http://my.ontology/ontologyTest"> <owl:imports rdf:resource="http://purl.obolibrary.org/obo/bfo/2019-08-26/bfo.owl"/> </owl:Ontology> <owl:Class rdf:about="http://my.ontology/ontologyTest#Event"> <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/BFO_0000001"/> </owl:Class> </rdf:RDF> 当我打开本体时,我正在做: OntModel model = createModel("OWL_MEM"); FileManager.get().readModel(model, uri.toString()); Model _model = model.getRawModel(); model = new OntModelImpl(OntModelSpec.OWL_MEM, _model); ExtendedIterator classes = model.listClasses(); while (classes.hasNext()) { OntClass theOwlClass = (OntClass) classes.next(); if (thisClass.getNameSpace() == null && thisClass.getLocalName() == null) { continue; } ... } 我从我的本体中获取所有类(这里是Event),也从导入的本体中获取。 Jena 有没有办法知道 OntClass 是来自导入的本体并且未在我当前的本体中声明? 正如 UninformedUser 的评论中所说,感谢他,您可以执行以下操作: 列出所有导入本体的URI model.listImportedOntologyURIs() 列出导入本体的所有类model.getImportedModel(uri).listClasses() 在模型的所有类上创建一个迭代器,删除所有导入的类model.listClasses().filterDrop(importedClasses::contains) 因此,要打印模型的所有类而无需导入类: import java.util.HashSet; import java.util.Set; import org.apache.jena.ontology.OntClass; import org.apache.jena.ontology.OntModel; import org.apache.jena.ontology.OntModelSpec; import org.apache.jena.rdf.model.ModelFactory; import org.apache.jena.util.iterator.ExtendedIterator; OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM); model.read("file:///Users/von/tools/data.owl", "RDF/XML"); Set<OntClass> importedClasses = new HashSet<>(); for (String uri : model.listImportedOntologyURIs()) { importedClasses.addAll(model.getImportedModel(uri).listClasses().toSet()); } ExtendedIterator<OntClass> it = model.listClasses().filterDrop(importedClasses::contains); while (it.hasNext()) { OntClass cls = it.next(); System.out.println(cls); }


仅在打字稿中为泛型类型提供部分类型

我想知道是否有一种简写方式可以在打字稿中为泛型类型仅指定一些可选类型。例如,如果我有一个带有可选类型的类: 类通用类 我想知道是否有一种简写方式可以在打字稿中为泛型类型仅指定一些可选类型。例如,如果我有一个带有可选类型的类: class GenericClass<A extends Type1 = Type1, B extends Type2 = Type2, C extends Type3 = Type3> 然后我想定义一个子类,例如:class Subclass extends GenericClass<TypeB> ,这将是class Subclass extends GenericClass<Type1, TypeB, Type3>的简写,但它不起作用。相反,它尝试将 TypeB 推断为 Type1 的子类型,这会产生错误。然而,在此示例中也允许省略 Type3 并让打字稿推断它。这样的东西对我定义通用反应组件很有用,我想在其中指定状态类型,而不是道具。 我是否正确,在指定可选类型时必须提供所有前面的可选类型。或者有什么办法可以像我尝试的那样吗? 对于可选函数参数,您只需为前面的可选参数指定 undefined ,这对于泛型不起作用,但我确实尝试过,使用 void 代替,但这也不起作用。我也尝试过使用像 Subclass extends GenericClass<B = TypeB> 这样的语法,但这也不起作用。 我看到了一些用接口替换可选函数参数的建议,例如: interface Args { a?: number, b?: string, c?: any} function myFunc(Args) {} 然后可以像 myFunc({b: "value"}); 一样调用,并且避免必须执行 myFunc(undefined, "value");。这感觉像是一个糟糕的选择,但也许可以对泛型类型做这样的事情?但我不确定那会是什么样子。 我尝试的另一件事是重载像type GenericClass<B extends Type2> = GenericClass<Type1, B, Type3>这样的类型。这不起作用,除非我输入不同的名称,例如 GenericClassB TypeScript 目前不具备您正在寻找的功能,至少从 TS5.1 开始是这样。 Generic 类型参数只有在具有 defaults 时才能被省略,并且不允许跳过任何参数。有一些开放的功能请求,如果实现,可能会实现您想要的功能: 有部分类型参数推断,如microsoft/TypeScript#26242中的要求。该提案的一部分是允许使用“印记”或“占位符”类型,以便您可以编写类似 GenericClass<*, TypeB, *> 或 GenericClass<_, TypeB, _> 等内容。 还有命名类型参数,如microsoft/TypeScript#38913中的要求,您可以在其中编写GenericClass<B=TypeB>,或者根据microsoft/TypeScript#54254中的要求,您可以在其中编写类似GenericClass<B: TypeB>或可能的内容GenericClass<{B: TypeB}>。 最后,您提到的解决方法是使用单个类型参数constrained到具有所有可选属性的Args类型,除了TypeScript无法从索引访问类型推断之外,该解决方法有效;也就是说,它可以从 A 类型的值推断出 A,但不能从 T extends {a: any} 类型的值推断出 T["a"]。 microsoft/TypeScript#51612 有一个开放的功能请求可以做到这一点,但同样,它还不是该语言的一部分。 最近提到的两个问题中的一个或两个可能有希望得到解决。事实上,在 microsoft/TypeScript#53017 有一个拉取请求,它实现了最后一个,但我不知道它是否会被合并。 (microsoft/TypeScript#20126 上的一个更旧的拉取请求也实现了它,但它被放弃了。) 但在那之前您将需要使用解决方法。 不知道如何进行课程,我通常只使用type,你可以这样做: type Tuple3<a,b,c> = [a,b,c] const t3: Tuple3<number, string, string> = [3, 'apple', 'banana'] type NamedTuple2<a,b> = Tuple3<string,a,b> const namedT2: NamedTuple2<number, string> = ['fruites', 2,... 游乐场链接


© www.soinside.com 2019 - 2024. All rights reserved.