@@ -644,7 +644,7 @@ function getClauseAndRemainder(pat) {
644
644
}
645
645
return [ ]
646
646
}
647
- if ( pat [ 0 ] == '+' || pat [ 0 ] == ',' || pat [ 0 ] == '|' ) {
647
+ if ( pat [ 0 ] == '+' || pat [ 0 ] == ',' || pat [ 0 ] == '|' || pat [ 0 ] == '*' ) {
648
648
let ret = [ pat [ 0 ] ]
649
649
if ( pat . substring ( 1 ) ) ret . push ( pat . substring ( 1 ) )
650
650
return ret
@@ -655,7 +655,7 @@ function getClauseAndRemainder(pat) {
655
655
return ret
656
656
}
657
657
for ( var i = 1 ; i < pat . length ; i ++ ) {
658
- if ( pat [ i ] == ',' || pat [ i ] == '|' || pat [ i ] == '+' || pat [ i ] == '{' )
658
+ if ( pat [ i ] == ',' || pat [ i ] == '|' || pat [ i ] == '+' || pat [ i ] == '{' || pat [ i ] == '*' )
659
659
return [ pat . substring ( 0 , i ) , pat . substring ( i ) ]
660
660
}
661
661
return [ pat ]
@@ -676,14 +676,17 @@ function compilePredicate(pp, q) {
676
676
}
677
677
} else if ( pp . indexOf ( '<' ) != - 1 ) {
678
678
let pred = pp . slice ( 1 , pp . length )
679
- let cleaned = pred == '*' ? 'owl:topObjectProperty' : q . cleanPathPredicate ( pred )
679
+ //let cleaned = pred == '*' ? 'owl:topObjectProperty' : q.cleanPathPredicate(pred)
680
+ let cleaned = q . cleanPathPredicate ( pred )
680
681
return { '@type' : 'InvertedPathPredicate' , 'predicate' : cleaned }
681
682
} else if ( pp . indexOf ( '>' ) != - 1 ) {
682
683
let pred = pp . slice ( 0 , pp . length - 1 )
683
- let cleaned = pred == '*' ? 'owl:topObjectProperty' : q . cleanPathPredicate ( pred )
684
+ //let cleaned = pred == '*' ? 'owl:topObjectProperty' : q.cleanPathPredicate(pred)
685
+ let cleaned = q . cleanPathPredicate ( pred )
684
686
return { '@type' : 'PathPredicate' , 'predicate' : cleaned }
685
687
} else {
686
- let pred = pp == '*' ? 'owl:topObjectProperty' : q . cleanPathPredicate ( pp )
688
+ //let pred = pp == '*' ? 'owl:topObjectProperty' : q.cleanPathPredicate(pp)
689
+ let pred = q . cleanPathPredicate ( pp )
687
690
return { '@type' : 'PathPredicate' , 'predicate' : pred }
688
691
}
689
692
}
@@ -726,6 +729,12 @@ function tokensToJSON(seq, q) {
726
729
'@type' : 'PathPlus' ,
727
730
'plus' : tokensToJSON ( [ seq [ 0 ] ] , q ) ,
728
731
}
732
+ } else if ( seq [ 1 ] == '*' ) {
733
+ //binds tightest of all
734
+ return {
735
+ '@type' : 'PathStar' ,
736
+ 'star' : tokensToJSON ( [ seq [ 0 ] ] , q ) ,
737
+ }
729
738
} else if ( seq [ 1 ] . charAt ( 0 ) == '{' ) {
730
739
//binds tightest of all
731
740
let meat = seq [ 1 ] . substring ( 1 , seq [ 1 ] . length - 1 ) . split ( ',' )
0 commit comments