2017-10-04 11 views
0

그래프 구조 - 클래스 및 속성 계층 구조 (즉, 개인, 속성 값 제외)를 나타내는 트리플 만 어떻게 얻을 수 있습니까?SPARQL 쿼리로 RDF 그래프의 구조를 얻으십시오.

+0

:'CONSTRUCT WHERE {하위 RDFS :? subClassOf 한모금} 그래서 내 변종'술어가'RDFS를 사용하여 속성 계층 구조에 대한 유사 : subPropertyOf' – AKSW

+0

또는 한 쿼리에서 그것을 할 : 'CONSTRUCT { ? s? p? o. } {? VALUES P {RDFS : subClassOf의 RDFS : subPropertyOf} 의 P O }' – AKSW

+0

감사합니다,하지만 내가 RDF도 필요하다고 보인다??? 유형, 올빼미 : 클래스 : 도메인 : 범위 트리플을. – palandlom

답변

0

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)) 
     } 
} 
+0

다음 번에 당신의 질문에 이것을 분명히해야합니다. OWL 온톨로지의 모든 스키마 공리를 쿼리하는 것처럼 들립니다. '? p rdf : type owl : FunctionalProperty'와 같은 공리가 아직도 없습니다. – AKSW

+0

또한 트리플을 물었고 따라서 SELECT 쿼리를 사용하는 이유를 알지 못합니다. – AKSW

+0

죄송합니다. 트리플을 솔루션과 혼동했습니다. – palandlom