通过SPARQL查询获取RDF图的结构
答
看来我需要rdf:type,owl:class等三胞胎。所以这是我的变种:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
select ?s ?p ?o
where
{
{
graph <http://graph.org/gr>
{
?s rdf:type ?o.
?s ?p ?o.
}
FILTER
(?o IN (owl:Class, owl:DatatypeProperty, owl:AnnotationProperty, owl:ObjectProperty, owl:DataRange, owl:Ontology,
owl:DataRange,owl:DeprecatedClass,owl:DeprecatedProperty,owl:OntologyProperty,rdfs:Class,owl:Restriction,owl:InverseFunctionalProperty,
owl:FunctionalProperty,owl:AllDisjointClasses,rdf:Property, rdfs:Datatype)
)
}
UNION
{
graph <http://graph.org/gr>
{
?s ?p ?o.
}
FILTER
(?p IN (rdfs:subClassOf,rdfs:subPropertyOf,rdfs:domain,rdfs:range,rdfs:label,rdfs:comment,rdfs:member,
rdf:first,rdf:rest,owl:allValuesFrom,owl:someValuesFrom,owl:AnnotationProperty,owl:equivalentClass,
owl:equivalentProperty,owl:hasValue,owl:OntologyProperty,owl:SymmetricProperty,owl:TransitiveProperty,
owl:versionInfo,owl:priorVersion,owl:oneOf,owl:maxCardinality,owl:minCardinality,owl:inverseOf,
owl:incompatibleWith,owl:intersectionOf,owl:imports,owl:backwardCompatibleWith,owl:AllDifferent,
owl:differentFrom,owl:disjointWith,owl:distinctMembers,owl:complementOf,owl:cardinality,owl:unionOf,owl:onProperty))
}
}
对于类层次结构:'构造物,其中 {子的rdfs:??subClassOf燮}'使用谓词'RDFS类似财产层次:subPropertyOf' – AKSW
或者做一个查询: 'CONSTRUCT { ?s?p?o。 } WHERE {?值p {RDFS:subClassOf的rdfs:subPropertyOf} 性s PØ }' – AKSW
谢谢,但似乎我也需要RDF:???型,猫头鹰:等级:域:范围的三倍。 – palandlom